LynxError API

LynxError 是 Lynx 运行时返回的用来表示你的应用中发生的失败、警告或可恢复问题的标准错误对象。

其中它同时包含机器可读的信息(错误码、错误子码、严重性等)和人工可读的消息。

总览

属性类型描述
errorCodeint顶级错误码 (e.g. 102)
subCodeint更具体的错误子码 (e.g. 10203)
levelstring严重程度等级: Fatal, Error, Warn, Undecided
msgstring人工可读的错误信息
toString()string完整字串化的错误

用途

  • 在开发或调试中展示错误信息
  • 为致命运行时问题触发兜底 UI 或跳转
  • 上报问题以进行数据分析或 bug 追踪

平台方法

Android

方法返回类型描述
getErrorCode()int返回 errorCode
getSubCode()int返回 subCode
getLevel()String返回严重程度等级
getMsg()String返回错误信息字串
toString()String完整字串化的错误

iOS

属性类型描述
errorCodeNSInteger同上
subCodeNSInteger
levelNSString*
msgNSString*
descriptionNSString*等价于 toString()

错误分级

等级含义建议动作
Fatal应用可能已不可用重新加载或者跳转到兜底 UI
Error可恢复的问题记录日志并重试
Warn非阻碍的警告记录日志并继续
Undecided尚未分类。记录问题并合理处理

示例

JavaScript

lynx.onError((err) => {
  if (err.getLevel() === 'Fatal') {
    // Possibly reload or fallback to home
    console.error('Critical error occurred:', err.getMsg());
  }
});

Kotlin

fun onLynxError(error: LynxError) {
    if (error.level == "Fatal") {
        println("Fatal error: ${error.msg}")
    }
}

Swift

func onLynxError(_ error: LynxError) {
  if error.level == "Fatal" {
    print("Fatal error: \(error.msg)")
  }
}

兼容性

LCD tables only load in the browser

除非另有说明,本项目采用知识共享署名 4.0 国际许可协议进行许可,代码示例采用 Apache License 2.0 许可协议进行许可。