try...catch 구문은 에러코드 블록을 테스트 할 수 있도록 해 줍니다.
자바스크립트의 에러 캐치
인터넷에서 웹페이지를 브라우징할 때 경고창 뜨면서 런타임 에러가 있다면서 "Do you wish to debug?라고 묻는 경우를 봤을 것입니다.
에러 메시지는 이처럼 개발자들에게는 유용하지만 사용자들이 에러를 발견하면 웹페이지를 떠나게 됩니다.
이처럼 자바스크립트 에러 메시지를 잡아내고 다루는 방법을 배워보겠습니다.
고객을 잃지 말아야 하니까요.
try...catch 구문
try...catch 구문은 에러코드 블록을 테스트 할 수 있도록 허용합니다.
try블록은 실행되는 코드를 포함하고 catch블록은 에러가 발생하면 실행되는 코드가 포함되어 있습니다.
문법
try{ {
//Run some code here
}catch(err){
//Handle errors here
}
예제
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var txt="";
function message()
{
try{
adddlert("Welcome guest!");
}catch(err){
txt="There was an error on this page.\n\n";
txt+="Click OK to continue viewing this page,\n";
txt+="or Cancel to return to the home page.\n\n";
if(!confirm(txt))
{
document.location.href="http://www.w3schools.com/";
}
}
}
</script>
</head>
<body>
<input type="button" value="View message" onclick="message()" />
</body>
</html>
throw구문
throw구문은 예외 상황을 만들 수 있습니다.
try catch구문과 함께 사용할 수 있습니다.
이것을 사용하면 프로그램 흐름을 제어하고 정확한 오류 메시지를 생성할 수 있습니다.
<!DOCTYPE html> <html> <body> <script type="text/javascript"> var x=prompt("Enter a number between 5 and 10:",""); try { if(x>10) { throw "Err1"; } else if(x<5) { throw "Err2"; } else if(isNaN(x)) { throw "Err3"; } } catch(err) { if(err=="Err1") { document.write("Error! The value is too high."); } if(err=="Err2") { document.write("Error! The value is too low."); } if(err=="Err3") { document.write("Error! The value is not a number."); } } </script> </body> </html>
'WEB_TECH > javascript' 카테고리의 다른 글
날짜 시간 관련 객체 (0) | 2012.10.24 |
---|---|
자바스크립트 디버깅 (0) | 2012.10.18 |
String객체 (0) | 2012.09.13 |
javascript 객체기반언어 (0) | 2012.08.17 |
이벤트 (0) | 2012.08.17 |
자바스크립트 함수 Function (0) | 2012.08.17 |
pop up boxes (0) | 2012.08.17 |
반복문 (0) | 2012.08.17 |
조건문 (0) | 2012.08.17 |
연산자 (0) | 2012.08.17 |