gleam_error
Types
异常共同携带的信息
pub type BasicInfo {
BasicInfo(
module: String,
file: String,
function: String,
line: Int,
message: String,
)
}
Constructors
-
BasicInfo( module: String, file: String, function: String, line: Int, message: String, )module:异常的模块
file:异常的文件
function:异常的函数
line:异常的行号(准确)
message:异常附带的消息
gleam异常panic/todo/assert/let assert
pub type GleamError {
Panic(basic: BasicInfo)
Todo(basic: BasicInfo)
AssertSingle(basic: BasicInfo, value: dynamic.Dynamic)
AssertFuncCall(
basic: BasicInfo,
arguments: List(dynamic.Dynamic),
)
AssertPair(
basic: BasicInfo,
left_value: dynamic.Dynamic,
right_value: dynamic.Dynamic,
operator: String,
)
LetAssert(basic: BasicInfo, value: dynamic.Dynamic)
}
Constructors
-
Panic(basic: BasicInfo)panic引发的异常 -
Todo(basic: BasicInfo)todo引发的异常 -
AssertSingle(basic: BasicInfo, value: dynamic.Dynamic)assert的assert val格式 引发的异常value:断言失败的值
-
AssertFuncCall( basic: BasicInfo, arguments: List(dynamic.Dynamic), )assert的assert func()格式 引发的异常arguments:断言失败的函数的参数列表
-
AssertPair( basic: BasicInfo, left_value: dynamic.Dynamic, right_value: dynamic.Dynamic, operator: String, )assert的assert val1 == val2或assert func() == func()格式 引发的异常left_value:左侧表达是的值
right_value:右侧表达式的值
operator:运算符
-
LetAssert(basic: BasicInfo, value: dynamic.Dynamic)let assert引发的异常value:匹配失败的值
Values
pub fn from_exception(
ex: error.Exception,
) -> Result(GleamError, Nil)
从Exception获取GleamError
由于类型是公开的,你完全可以伪造一个Reason