📅  最后修改于: 2023-12-03 15:16:07.238000             🧑  作者: Mango
在 JavaScript 中,try-catch 语句提供了一种捕获和处理异常的机制。当 JavaScript 引擎执行 try 代码块时,如果发生异常,则会跳过当前代码块并执行 catch 代码块。catch 代码块接收一个异常对象,我们可以通过这个对象获取更多有关异常的信息。
try {
// 可能会抛出异常的代码块
} catch (error) {
// 处理异常的代码块
}
try {
const myArray = new Array(-1);
} catch (error) {
console.log(error); // 输出 "RangeError: Invalid array length"
}
在上面的代码中,我们创建了一个长度为-1的数组,因为数组的长度不能为负数,所以会抛出一个 RangeError 异常。这个异常会被 catch 代码块捕获并输出异常信息到控制台。
在一些情况下,我们需要在 try-catch 代码块执行完成之后执行一些清理工作,例如关闭文件或者释放资源。这个时候,我们可以使用 try-catch-finally 语句。
try {
// 可能会抛出异常的代码块
} catch (error) {
// 处理异常的代码块
} finally {
// 无论是否抛出异常,都会执行的代码块
}
try {
// 打开文件
const file = openFile('file.txt');
// 执行一些操作
} catch (error) {
console.log(error); // 输出异常信息
} finally {
// 关闭文件
file.close();
}
在上面的代码中,我们使用 try-catch-finally 语句打开一个文件并执行一些操作。不管是否发生异常都会执行 finally 代码块,关闭文件。