최신 웹 개발 튜토리얼
 

JavaScript시도 / 잡기 / 드디어 문

<자바 스크립트 문 참조

이 예에서 우리는 (try 블록에서) 코드에 오타를 만들었습니다.

이 예는 경고하도록되어 "Welcome guest!" 하지만 경고가 철자가 잘못되었습니다.

캐치 블록은 오류를 포착하고이를 처리하는 코드를 실행합니다 :

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
try {
    adddlert("Welcome guest!");
}
catch(err) {
    document.getElementById("demo").innerHTML = err.message;
}
</script>

</body>
</html>
»그것을 자신을 시도

"Try it Yourself" 아래의 예.


정의 및 사용

은 try / 잡기 / finally 문은 여전히 ​​코드를 실행하는 동안, 코드 블록에서 발생할 수있는 오류의 일부 또는 전부를 처리합니다.

오류로 인해 잘못 입력 및 기타 예측할 수없는 것들 프로그래머에 의해 만들어진 오류, 오류를 코딩 할 수 있습니다.

try 문은 당신이 그것을 실행하는 동안 오류를 테스트 할 코드 블록을 정의 할 수 있습니다.

try 블록에서 오류가 발생하면 catch 문, 당신은 코드 블록이 실행되도록 정의 할 수 있습니다.

최종적으로 문을 사용하면 결과에 관계없이, 시도 및 캐치 후, 코드를 실행할 수 있습니다.

참고 : 캐치 마지막 문은 모두 선택 사항입니다,하지만 당신은 그들 중 하나를 사용해야합니다 (if not both) 은 try 문을 사용하는 동안.

팁 : 오류가 발생하면, 자바 스크립트가 정상적으로 중지하고 오류 메시지를 생성합니다. 사용 던져 사용자 지정 오류를 만들 수있는 문 (throw an exception) . 당신이 시도캐치와 함께 던져 사용하는 경우 프로그램의 흐름을 제어 및 사용자 지정 오류 메시지를 생성 할 수 있습니다.

자바 스크립트 오류에 대한 자세한 내용은 읽어 자바 스크립트 오류 자습서.


브라우저 지원

성명서
try/catch/finally

통사론

try {
    tryCode - Block of code to try
}
catch( err ) {
    catchCode - Block of code to handle errors
}
finally {
    finallyCode - Block of code to be executed regardless of the try / catch result
}

매개 변수 값

매개 변수 기술
tryCode 필요합니다. 이 실행되는 동안 코드의 블록 오류를 테스트 할
err 캐치와 함께 사용할 경우에 필요합니다. 오류를 참조하는 지역 변수를 지정합니다. 변수는 오류 객체 (메시지 " 'addlert'정의되지 않았습니다"와 같은 발생한 오류에 대한 정보를 포함)를 참조 할 수 있습니다. 예외가 throw 문에 의해 생성 된 경우, 변수 throw 문에 지정된 오브젝트를 말한다 ( "추가 예"참조)
catchCode 선택 과목. try 블록에서 오류가 발생하면 코드의 블록 실행합니다. 오류가 발생하지 않으면,이 코드 블록이 실행되지 않습니다
finallyCode 선택 과목. 코드 블록은 시도 / 캐치 결과에 관계없이 실행되는

기술적 세부 사항

자바 스크립트 버전 : 1.4

예

더 예

이 예에서는 입력을 검사한다. 값이 잘못된 경우, 예외가 (err) 슬로우됩니다.

예외는 (err) catch 문에 의해 잡힌 및 사용자 지정 오류 메시지가 표시됩니다 :

<!DOCTYPE html>
<html>
<body>

<p>Please input a number between 5 and 10:</p>

<input id="demo" type="text">
<button type="button" onclick="myFunction()">Test Input</button>
<p id="message"></p>

<script>
function myFunction() {
    var message, x;
    message = document.getElementById("message");
    message.innerHTML = "";
    x = document.getElementById("demo").value;
    try {
        if(x == "") throw "is Empty";
        if(isNaN(x)) throw "not a number";
        if(x > 10) throw "too high";
        if(x < 5) throw "too low";
    }
    catch(err) {
        message.innerHTML = "Input " + err;
    }
}
</script>

</body>
</html>
»그것을 자신을 시도

최종적으로 문을 사용하면 결과에 관계없이, 시도 및 캐치 후, 코드를 실행할 수 있습니다 :

function myFunction()
    var message, x;
    message = document.getElementById("message");
    message.innerHTML = "";
    x = document.getElementById("demo").value;
    try {
        if(x == "") throw "Empty";
        if(isNaN(x)) throw "Not a number";
        if(x > 10) throw "Too high";
        if(x < 5) throw "Too low";
    }
    catch(err) {
        message.innerHTML = "Error: " + err + ".";
    }
    finally {
        document.getElementById("demo").value = "";
    }
}
»그것을 자신을 시도

관련 페이지

자바 스크립트 튜토리얼 : 자바 스크립트 오류

자바 스크립트 참조 : 자바 스크립트 throw 문


<자바 스크립트 문 참조