Dotcpp  >  编程教程  >  JavaScript基础语法及数据类型  >  JS异常处理关键字

JS异常处理关键字

点击打开在线编译器,边学边练

try catch throw语句

try 和 catch 是 JavaScript 中用于异常处理的关键字和语句。

try 语句块用于包裹可能引发异常的代码,其语法如下:

try {
  // 可能引发异常的代码
} catch (error) {
  // 处理异常的代码
}

在 try 块中,我们放置可能引发异常的代码段。如果在 try 块内发生了异常(比如抛出了错误),那么程序会立即跳转到 catch 块。

catch 语句块用于捕获并处理异常情况,其语法如下:

catch (error) {
  // 处理异常的代码
}

在 catch 块中,我们可以编写处理异常的逻辑。error 是一个表示异常信息的参数,我们可以通过它来访问捕获到的错误对象的属性,比如 message 属性获取错误信息。

以下是一个使用 try 和 catch 的示例:

function divide(a, b) {
  try {
    if (b === 0) {
      throw new Error("除数不能为零");
    }
    return a / b;
  } catch (error) {
    console.log("捕获到异常:", error.message);
  }
}
console.log(divide(10, 2)); // 输出 5
console.log(divide(10, 0)); // 捕获到异常: 除数不能为零

在上面的示例中,我们定义了一个 divide 函数,用于进行除法运算。在 try 块内,我们检查除数是否为零,如果是则通过 throw 抛出一个自定义的异常。在 catch 块中,我们捕获并处理这个异常,输出错误信息。

通过使用 try 和 catch,我们可以控制并处理代码中可能引发的异常情况。

通过使用 throw,我们可以在程序中主动引发异常,从而控制异常的产生时机,并传递相关信息给异常处理机制。提高代码的健壮性和容错性。

Finally语句

finally 语句块是 JavaScript 中的另一个用于异常处理的关键字和语句。与 try 和 catch 不同,finally 块中的代码无论是否发生异常都会被执行。

finally 块通常用于释放资源或进行清理操作,以确保程序在任何情况下都能够正确的结束。其语法如下:

try {
  // 可能引发异常的代码
} catch (error) {
  // 处理异常的代码
} finally {
  // 无论是否发生异常,这里的代码都会被执行
  // 此处通常用于释放资源或进行清理操作
}

以下是一个使用 finally 的实例:

function divide(a, b) {
  try {
    if (b === 0) {
      throw new Error("除数不能为零");
    }
    return a / b;
  } catch (error) {
    console.log("捕获到异常:", error.message);
  } finally {
    console.log("无论是否发生异常,这里的代码都会被执行");
  }
}
console.log(divide(10, 2)); // 输出 5, 然后输出 "无论是否发生异常,这里的代码都会被执行"
console.log(divide(10, 0)); // 捕获到异常: 除数不能为零,最后输出 "无论是否发生异常,这里的代码都会被执行"

在上面的示例中,我们定义了一个 divide 函数,用于进行除法运算。在 try 块中,我们检查除数是否为零,如果是则通过 throw 抛出一个自定义的异常。在 catch 块中,我们捕获并处理这个异常,在 finally 块中最后执行释放资源或进行清除操作的逻辑。

通过使用 finally,我们可以在任何情况下都正确处理资源释放或清理等操作。

以上就是关于异常处理关键字的详细处理,合理利用增加我们代码的健壮性和可靠性。



本文固定URL:https://www.dotcpp.com/course/1293

上一课:

JS异常处理

下一课:

JS调试

JavaScript教程
第一章 JavaScript入门
第二章 JavaScript基础语法及数据类型
第三章 JavaScript函数
第四章 JavaScript类
第五章 JS高级教程
第六章 JS Window
第七章 JS库
Dotcpp在线编译      (登录可减少运行等待时间)