【发布时间】:2011-06-19 19:41:15
【问题描述】:
Javascript如何复制其他语言支持的四部分try-catch-else-finally执行模型?
Python 2.5 what's new 提供了清晰、简短的摘要。在 Javascript 术语中:
// XXX THIS EXAMPLE IS A SYNTAX ERROR
try {
// Protected-block
} catch(e) {
// Handler-block
} else {
// Else-block
} finally {
// Final-block
}
Protected-block中的代码被执行。如果代码抛出异常,则执行Handler-block;如果没有抛出异常,则执行 Else-block。
无论之前发生了什么,Final-block 都会在代码块完成并处理任何抛出的异常后执行。即使 Handler-block 或 Else-block 出现错误并引发新的异常,Final-block 中的代码仍会运行.
请注意,将 Else-block 剪切并粘贴到 Protected-block 的末尾是错误的。如果 Else-block 发生错误,不得由 Handler-block 处理。
【问题讨论】:
标签: javascript try-catch