能否通过try catch让JavaScript引擎遇到错误后继续执行剩下的代码?

当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息。
try 语句允许我们定义在执行时进行错误测试的代码块。
catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
怎样合理的使用try和catch让JavaScript引擎遇到错误后继续执行剩下的代码呢?

阅读 15.3k
1 个回答

什么时候使用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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题