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
相关产品推荐
相关产品推荐

