我最近添加了 eslint
到我的 Typescript 代码库。
默认情况下,它启用 @typescript-eslint/no-unsafe-member-access
.
突然之间,我的 catch block 上出现了大量的 lint 错误。
有没有好的解决方法?
Typescript 不允许我将其键入为 Error
直接来自像 catch(err: Error)
这样的 catch 语句.
我不想完全禁用规则,也不想添加eslint-disable
在每个 catch(err)
堵塞。
最佳答案
try
中存在各种不确定性。 block ,JavaScript 不仅可以抛出 Error 对象,甚至可以抛出 string
, 甚至 null
或 undefined
.我们可以使用instanceof-narrowing避免这样的警告
try {
...
} catch(e) {
if (e instanceof Error /*CustomError*/) {
console.log(e.message)
}
}
关于javascript - 如何处理 catch(err) block 上的 @typescript-eslint/no-unsafe-member-access 规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66462386/