首页 新闻 会员 周边 捐助

typescript: 如何获取异常信息

0
悬赏园豆:30 [已解决问题] 解决于 2023-12-13 12:28

下面的代码会造成 eslint 报错

try {
    // ...
} catch (e) {
    console.log('错误信息:' + e)
}

eslint 报错信息如下

Invalid operand for a '+' operation. Operands must each be a number or string, allowing a string + any of: `boolean`, `null`, `RegExp`, `undefined`. Got `unknown`.
dudu的主页 dudu | 高人七级 | 园豆:30778
提问于:2023-12-13 08:17
< >
分享
最佳答案
0

你这个地方是eslint的报错,前面的字符串 "错误信息:" 使用 “+” 操作符拼接的是一个异常对象e,你的项目类型检查不允许这样做。如果要获取错误信息,两种:
console.log('错误信息:', e);

console.log('错误信息:' + e.message); // 这种的前提e是一个具有message字段的对象。

收获园豆:30
w4ngzhen | 菜鸟二级 |园豆:232 | 2023-12-13 10:53

考虑采用2种解决方法

1)偷懒解决方法

try {
    // ...
} catch (e) {
    console.log(`错误信息:${<string>e}`)
}

2)不偷懒解决方法

try {
    //...
} catch (e) {
    const message = e instanceof Error ? e.message : "Unknown error."
    console.log('错误信息:' + message)
}

参考链接:

dudu | 园豆:30778 (高人七级) | 2023-12-13 12:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册