gpt4 book ai didi

javascript - 是否可以通过运行所有代码 try...catch block 来捕获所有 JS 异常?

转载 作者:行者123 更新时间:2023-11-28 03:12:42 24 4
gpt4 key购买 nike

为什么人们不把所有的 JS 代码写在一个大的 try...catch block 中?或者更好的是,将所有代码放在一个函数中,并通过从 try...catch block 调用该函数来启动程序。为什么这不是常态?有什么问题?

function allMyJSCode() {
console.log("I can get here");

foo.bar = ""; //accessing property of uninitialized object

console.log("but never here");
}

try {
allMyJSCode();
} catch(error) {
console.log("Error from allMyJSCode: " + error);
}
//I can get here
//Error from allMyJSCode: ReferenceError: foo is not defined

最佳答案

因为一旦发生错误,其余代码将不会被执行,它会直接进入catch block 并忽略可能重要的代码。你不希望这样。

想象一下这个场景:

// Important code #1

// Important code #2

现在,如果您将这两者组合在一个巨大的 try...catch 中,并且由于某种原因 Important code #1 抛出错误,则 Important code #2 永远不会被执行,并且可能会导致问题,而如果每个都包含在自己的 try...catch 中,那么无论 重要代码中发生什么# 1重要代码#2将被到达并被执行。

重要代码 #1 可能就像更改元素的背景一样微不足道,并且它可能会阻止执行处理填充数据、发送请求等的代码......

关于javascript - 是否可以通过运行所有代码 try...catch block 来捕获所有 JS 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59954672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com