LIFF SDK 错误 在开发基于 LINE Front-end Framework(LIFF)的应用时,开发者可能会遇到各种 SDK 抛出的异常或错误。这些错误通常以 LiffError 对象的形式返回,包含多个属性,其中最关键的两个属性是 code(错误代码)和 message(错误信息)。为了确保 LIFF 应用具备更好的稳定性和兼容性,开发者应始终依赖这两个属性来识别和处理错误,而不仅仅是依赖错误信息中的文字描述。 LiffError 对象结构 当 LIFF SDK 在执行某个操作时发生异常,例如获取用户资料、启动应用、调用权限 API 等,会抛出一个 LiffError 实例。这个对象的结构如下: { “code”: “ERROR_CODE_SAMPLE”, “message”: “Human-readable error message describing the error” } code:错误代码,通常是一个有语义的标识符(例如:INVALID_PARAMETER, PERMISSION_DENIED, NETWORK_ERROR 等),不会轻易变动。 message:详细的错误描述,通常是可读性较强的字符串,用于辅助开发者调试,但可能因版本、语言或其他变化而随时更改。 常见开发误区:依赖错误信息文字匹配 许多开发者在初次使用 LIFF SDK 时,倾向于通过比较 message 属性的具体内容来判断错误类型。如下代码所示: if (error.message === ‘Permission denied’) { // 执行某些处理逻辑 } 虽然这种方法在某些情况下可以临时生效,但并不可靠。因为错误信息可能会随着 SDK 更新而变化,甚至可能因语言设置不同而返回不同的文本。这就意味着一旦 message 字符串发生细微变化,原本可用的错误处理逻辑将失效,可能导致功能异常或用户体验下降。 LIFF SDK 错误 :使用错误代码 + 错误信息 为了确保应用具备良好的前向兼容性与鲁棒性,建议始终使用错误代码来判断错误类型,并仅将错误信息用于日志记录或用户提示。 示例: try { await liff.permission.requestAll(); } catch (error) { if (error.code === ‘PERMISSION_DE