>  기사  >  웹 프론트엔드  >  JavaScript는 예외를 포착하기 위해 어떤 명령문을 사용합니까?

JavaScript는 예외를 포착하기 위해 어떤 명령문을 사용합니까?

青灯夜游
青灯夜游원래의
2021-10-15 17:11:363721검색

Javascript는 예외를 잡기 위해 "try catch" 문을 사용하며 구문은 "try {// 예외가 발생할 수 있는 코드} catch(error) {// 예외가 발생할 때 수행할 작업}"입니다. 코드는 try 문 블록에서 캡처됩니다. 예외 처리 방법은 catch 문 블록에서 정의됩니다.

JavaScript는 예외를 포착하기 위해 어떤 명령문을 사용합니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

JS 예외 처리

예외 처리의 목적은 예외로 인해 전체 프로그램이 종료되지 않도록 예외를 생성하는 코드를 잡는 것입니다. JavaScript에서는 try catch 문을 사용하여 예외를 포착하고 이에 따라 처리할 수 있습니다. 구문 형식은 다음과 같습니다. try catch 语句来捕获异常,并做出相应处理,语法格式如下:

try {
    // 可能会发生异常的代码
} catch(error) {
    // 发生异常时要执行的操作
}

我们可以将任何可能发生异常的代码放到 try 语句块中,并在 catch 语句块中定义处理异常的方法。如果 try 语句块中的代码发生错误,代码会立即从 try 语句块跳转到 catch 语句块中,如果 try 语句块中代码没有发生错误,就会忽略 catch 语句块中的代码。

    <script>
        try {
            var title = "JavaScript";
            document.write(title);
            // 调用一个未定义的变量
            document.write(str);
            // 若发生错误,则不会执行以下行
            alert("所有语句都已成功执行。");
        } catch(error) {
            // 处理错误
            alert("错误信息: " + error.message);
        }
        // 继续执行下面的代码
        document.write("<p>Hello World!</p>");
    </script>

运行结果如下图所示:

JavaScript는 예외를 포착하기 위해 어떤 명령문을 사용합니까?

当 try 语句块中的代码出现异常时,会创建并抛出一个 Error 对象(例如上面代码内catch(error)中的 error),对象中包含两个属性,如下所示:

  • name:错误的类型;

  • message:对错误的描述信息。

<strong>try catch finally</strong>

    <script>
        // 接收用户输入的参数
        var num = prompt("输入一个 0 到 100 的数字");
        // 获取当前时间
        var start = Date.now();
        try {
            if(num > 0 && num <= 100) {
                console.log(Math.pow(num, num)); // 指数幂的基
            } else {
                console.log("输入的值无效!");
            }
        } catch(e) {
            console.log(e.message);
        } finally {
            // 显示执行代码所用的时间
            console.log("代码执行花费了:" + (Date.now() - start) + "ms");
        }
    </script>
예외를 일으킬 수 있는 모든 코드를 try 문 블록에 넣을 수 있습니다. 그리고 catch 문 블록에서 예외를 처리하기 위한 메서드를 정의합니다. try 문 블록의 코드에서 오류가 발생하면 코드는 즉시 try 문 블록에서 catch 문 블록으로 이동합니다. try 문 블록의 코드에서 오류가 발생하지 않으면 catch 문 블록의 코드는 무시당하다.
1.3015928349429721e+171
代码执行花费了:0ms

실행 결과는 아래와 같습니다.

JavaScript는 예외를 포착하기 위해 어떤 명령문을 사용합니까?

try 문 블록의 코드에서 예외가 발생하면 Error 개체(예: 위 코드의 catch(error) 오류)가 생성되어 발생합니다. 다음과 같은 두 가지 속성이 표시됩니다.

🎜try catch finally🎜🎜 문 🎜🎜🎜try catch 문 뒤에는 try 내의 코드 여부에 관계없이 finally 문 블록을 추가할 수도 있습니다. 명령문 블록 오류가 발생하면 finally 문의 코드가 실행됩니다. 샘플 코드는 다음과 같습니다. 🎜
输入的值无效!
代码执行花费了:0ms
🎜 88과 같이 100보다 작은 숫자를 입력하면 실행 결과는 다음과 같습니다. 🎜rrreee🎜 123과 같이 100보다 큰 숫자를 입력하면 실행 결과는 다음과 같습니다. 🎜rrreee🎜 [추천 학습: 🎜 JavaScript 고급 튜토리얼🎜]🎜

위 내용은 JavaScript는 예외를 포착하기 위해 어떤 명령문을 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.