Skip to content
破仑的博客
Go back

JavaScript中的Try...catch...finally

JS中,try后面只要跟着一个catchfinally,有下面3中形式的用法:

  1. try…catch
  2. try…finally
  3. try…catch…finally

这里需要注意的是finally无论在任何情况下,finally中的代码都会执行,哪怕是try...catch中抛出了异常! 比如:

try {
  console.log(1);
  throw new Error('aa');
  console.log(6);
} catch (err) {
  console.log(2);
  throw new Error('aa');
} finally {
  console.log(3);
}
console.log(4);

该代码段中的console的输出结果是:

1
2
3

try内部的console.log(6)和外部的console.log(4)都不会执行,但是finally中的会执行。 有了这样的特性,我们可以在finally中做一些无论什么情况下都需要做的事情,比如关闭I/O连接等等。


Share this post on:

Previous Post
Node.js中module.exports和exports
Next Post
《你就是孩子最好的玩具》读后感