You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hapi + Boom:应为错误分配哪种类型?

Hapi + Boom 中 Catch 块 Error 的正确类型及查询方法

正确的类型选择

  • TypeScript 官方推荐在 catch 块中使用 unknown 作为 error 的类型,因为捕获到的错误不一定是标准的 Error 实例,unknown 能强制你做类型校验,避免潜在的类型安全问题。
  • 如果你能确保代码中抛出的所有错误都是 Error 或其子类,也可以直接用 Error 类型,但 unknown 更严谨。

举个严谨的实现示例:

} catch (error: unknown) {
    const errorMessage = error instanceof Error ? error.message : '未知错误';
    return Boom.badImplementation(errorMessage);
}

相关信息查询途径

  • 查看项目依赖中 @types/hapi__boom 和 @types/hapi__hapi 包的类型声明文件(位于 node_modules/@types 目录下),里面会明确框架相关错误的类型定义。
  • 查阅 Hapi 和 Boom 官方文档的 TypeScript 专属章节,框架会给出错误处理的类型规范建议。
  • 参考 TypeScript 官方文档中关于 catch 块类型的说明,了解 unknown 类型的设计意图和使用场景。

内容的提问来源于stack exchange,提问作者rbrtzlt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 13:35:13