以下代码段在 console.log()
上返回 Unreachable code detected.ts(7027)
。在 Visual Studio Code v1.43.2
上运行。
const foo = (() => {
try {
// operation like "return fs.readFileSync("./credentials.json")" is more likely to fail (nodejs)
// following line is just placeholder
return { val: 4 };
} catch (err) {
return { val: -1 };
}
})();
console.log(foo.val); //vs throws unreachable
真的是误报吗?
最佳答案
如果您真的想以这种方式实现它,则需要在捕获发生时对 val
进行某种回退。
这样实现:
const foo = (() => {
let val = undefined
try {
val = 4
} catch (err) {
throw new Error(err);
}
return { val }
})();
console.log(foo.val);
这可能只是 TypeScript 的问题,但这会解决问题。那个 TS 正在提示。
关于javascript - 误报 "Unreachable code detected.ts(7027)"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61058410/