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

✨ Search Document