能否通过try catch让JavaScript引擎遇到错误后继续执行剩下的代码?
当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息。
try 语句允许我们定义在执行时进行错误测试的代码块。
catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
怎样合理的使用try和catch让JavaScript引擎遇到错误后继续执行剩下的代码呢?
litp317
10 years, 2 months ago
Answers
什么时候使用
try/catch
当你想要对产生的错误进行处理时。
一般针对可预见性的异常,如在调用
JSON.parse()
时,可以进行异常处理,例如:
var obj;
try {
//data有可能不是合法的JSON字符串,便会产生异常
obj = JSON.parse(data);
} catch (e) {
obj = {};
}
对那些致命性的异常,可能会影响到接下来的业务逻辑,就没有必要在往下继续执行了,可以用
try/catch
处理一下(或不做处理),记录一些日志什么的,然后抛出该异常。
try {
doSomething(); //可能会产生致命的异常
} catch (e) {
console.log(e);
throw new Errow('自定义的异常');
}
总之,处理好异常并不容易,需要平常多处理一些,体会其中的差异,我个人感觉我这方面做的也不是特别好,分享一些链接看看。
Links
Enterprise JavaScript Error Handling
JavaScript error handling anti-pattern
Error handling in JavaScript: Rarely done, often needed
yinyin
answered 10 years, 2 months ago