try…catch 是许多编程语言中常见的语句。基本上,它用于处理代码中容易出错的部分。它首先测试代码可能包含的所有潜在错误,然后实施用于处理这些错误的操作(如果出现)。一个良好的编程方法是将复杂的代码放在 try…catch 语句中。

让我们逐个讨论每个语句块:

try{} 语句: 这里将需要进行潜在错误测试的代码放在 try 块内。如果发生任何错误,它将传递到 catch{} 块以采取适当的操作并处理错误。否则,它会执行其中的代码。

catch{} 语句: 此块通过执行块内部编写的一组语句来处理代码的错误。此块可以包含用户定义的异常处理程序或内置处理程序。只有在需要处理 try 块中的错误时,此块才会执行。否则,catch 块将被跳过。

注意:catch{} 语句仅在执行完 try{} 语句后才会执行。此外,一个 try 块可以包含一个或多个 catch 块。

语法:

try {
  // 编写的代码
} catch (error) {
  // 处理错误的代码
}

try…catch 示例

<!DOCTYPE html>
<html>
<head>
  <title>异常处理</title>
</head>
<body>
  <script>
    try {
      var a = ["34", "32", "5", "31", "24", "44", "67"]; // a 是一个数组
      document.write(a); // 显示 a 的元素
      document.write(b); // b 未定义,但仍尝试获取其值。因此将调用 catch 块
    } catch (e) {
      alert("出现错误,显示:" + e.message); // 处理错误
    }
  </script>
</body>
</html>

throw 语句

throw 语句用于抛出用户定义的错误。用户可以定义并抛出自己的自定义错误。当执行 throw 语句时,其后的语句将不会执行。控制权将直接传递到 catch 块。

语法:

throw 异常;

带有 try…catch 的 throw 示例

htmlCopy code<!DOCTYPE html>
<html>
<head>
  <title>异常处理</title>
</head>
<body>
  <script>
    try {
      throw new Error('这是 throw 关键字'); // 用户定义的 throw 语句
    } catch (e) {
      document.write(e.message); // 这将生成一个错误消息
    }
  </script>
</body>
</html>

使用 throw 语句,用户可以创建自己的错误。

try…catch…finally 语句

finally 是一个可选的语句块,它在执行 try 和 catch 语句后执行。finally 块不等待异常被抛出。无论是否抛出异常,finally 块中的代码(如果存在)都将被执行。它也不关心输出。

语法:

try {
  // 编写的代码
} catch (error) {
  // 处理错误的代码
} finally {
  // 可执行代码
}

带有 try…catch…finally 的示例

<!DOCTYPE html>
<html>
<head>
  <title>异常处理</title>
</head>
<body>
  <script>
    try {
      var a = 2;
      if (a == 2)
        document.write("好的");
    } catch (Error) {
      document.write("发现错误:" + e.message);
    } finally {
      document.write("a 的值为 2");
    }
  </script>
</body>
</html>

因此,我们还可以同时使用 try/catch/throw/finally 关键字来处理复杂的代码。

标签: js, JavaScript, JavaScript语言, JavaScript开发, JavaScript语法, JavaScript脚本, JavaScript教程, JavaScript入门, JavaScript入门教程, JavaScript进阶, JavaScript宝典, JavaScript学习, JavaScript指南, JavaScript大全