【发布时间】:2013-08-15 10:48:59
【问题描述】:
这是一个非常基本的问题。在 Java 中,我使用 finally 语句来关闭资源,因为“这是一个好习惯”。几年来,我一直在使用 Javascript 和 Node.js 进行开发,并且我从未使用过 finally 语句。我知道在 Node.js 中,我们所有人都遵循 first parameter error handling 模式。无论如何,以下 2 个 sn-ps 也是如此:
try{
throw 123
}catch (e){
}finally{
console.log(1)
}
.
try{
throw 123
}catch (e){
}
console.log(1)
都打印 1。
如果finally 没有真正的好处,为什么它是关键字?清理代码可以放在catch里面。
【问题讨论】:
-
我不相信这是重复的。链接的问题被标记为 Java,而这个问题是关于 JavaScript 的。答案恰好是相同的,但将其标记为重复表明 Java 和 JavaScript 是相同的,但它们显然不是。
-
"清理代码可以放在 catch 中。" - 不可以。清理代码必须在
try块中的代码成功完成时和当它抛出。
标签: javascript node.js