예
이 예에서 우리는 (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 문
<자바 스크립트 문 참조