error

Types

异常类型

pub type Class {
  ErrorClass
  ExitClass
  ThrowClass
}

Constructors

  • ErrorClass
  • ExitClass
  • ThrowClass

异常的基础信息:

is_gleam_error:检查reason解析出的字典里有没有“GleamError“键来判断是否属于gleam自己的异常

class:异常类型

message:如果是gleam异常则附带异常消息

file:如果是gleam异常则附带异常产生的文件

line:如果是gleam异常则附带异常产生的行号

reason:erlang的try语句返回的原始的异常原因,可自行解析

stacktrace:erlang的try语句返回的原始的堆栈跟踪,可自行解析

pub type Exception {
  Exception(
    is_gleam_error: Bool,
    class: Class,
    message: option.Option(String),
    file: option.Option(String),
    line: option.Option(Int),
    reason: dynamic.Dynamic,
    stacktrace: dynamic.Dynamic,
  )
}

Constructors

Values

pub fn try(func: fn() -> val) -> Result(val, Exception)

运行可能产生异常的函数

会捕获 error/exit/throw 三种异常类型

但对于进程崩溃的异常无法处理

Search Document