JavaScript 异常处理机制详解:try-catch-finally 执行流程

作者:半夏

时间:2026-10-31

浏览:441

本文通过具体代码案例详细解析 JavaScript 中的异常处理机制。重点阐述 try-catch-finally 语句块的执行逻辑:当 try 块发生错误时,程序跳转至 catch 块处理异常对象,随后必定执行 finally 块;若 try 块无异常,则跳过 catch,但仍会执行 finally。该机制确保资源释放或清理代码始终运行。

文章目录

JavaScript 异常处理机制详解:try-catch-finally 执行流程

以下通过一个完整的 HTML 与 JavaScript 示例来展示异常处理的具体用法:

try-catch-finally 核心执行逻辑


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
   
  <script type="text/javascript">
    // cache 缓存
    // try-catch-finally
    // 1 如果try中的代码出现了异常, 就会被catch住, 再catch中处理异常,
    //   最终,会执行finally中的代码
    // 2 如果try中大代码没有出现异常, catch内部的代码就不会执行, 但是,finally中的
    //   代码还是会要执行
 
    /*try {
      console.log(num);
    } catch(e) {
      console.log(e);
    } finally {
       
    }
 
    console.log(123);*/
 
    function fn() {
      // 如果此处直接return , 首先 try就不会执行,finally也不会执行
      return;
 
      try {
        var dv = document.getElementsByTagName("div");
        // 此处出错了
        dv.innerHTML = "12312";
        console.log("1 有没有错误??");
        return;
      } catch (e) {
        console.log("2 如果有错误,就会被处理");
      } 
      finally {
        // 释放try中使用的一些变量
        dv = null;
        console.log("3 代码最终是要执行的");
      }
 
 
      console.log("4 函数体最后的一行代码");
    }
 
    fn();
  </script>
</body>
</html>  

上述内容即为 JavaScript 中关于 try-catch-finally 异常处理的完整案例解析。希望以上关于错误捕获与最终执行块(finally)执行顺序的说明,能帮助大家更好地理解 JavaScript 的异常处理机制。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章