推荐答案
// www.javascriptcn.com code example
try {
// 尝试执行的代码
let result = riskyOperation();
console.log(result);
} catch (error) {
// 捕获并处理错误
console.error('An error occurred:', error.message);
} finally {
// 无论是否发生错误,都会执行的代码
console.log('Operation attempted.');
}本题详细解读
try 块
try 块包含可能会抛出异常的代码。如果在 try 块中的代码执行时发生错误,JavaScript 会立即停止 try 块的执行,并跳转到 catch 块。
catch 块
catch 块用于捕获并处理 try 块中抛出的异常。catch 块接收一个参数,通常是 error 或 e,它包含了关于错误的信息。你可以在这个块中记录错误、显示错误消息或执行其他错误处理逻辑。
finally 块
finally 块是可选的,它包含的代码无论 try 块中的代码是否抛出异常都会执行。通常用于执行清理操作,如关闭文件、释放资源等。
示例解释
在上面的示例中:
riskyOperation()是一个可能会抛出异常的函数。- 如果
riskyOperation()抛出异常,catch块会捕获该异常,并打印错误消息。 - 无论是否发生异常,
finally块中的代码都会执行,打印'Operation attempted.'。
注意事项
try块必须至少有一个catch块或finally块。- 如果
try块中的代码没有抛出异常,catch块将被跳过。 finally块中的代码总是会执行,即使try或catch块中有return语句。