Whiteship's Note

JavaScript The onerror Event

AJAX/JavaScript : 2007.07.09 14:02


참조 : http://www.w3schools.com/js/js_onerror.asp

onerror 이벤트
예외를 처리하는 다른 방법 중에 하나인 onerror 이벤트를 살펴보겠다.

onerror 이벤트는 페이지에 스크립트 에러가 발생할 때 마다 호출 된다.

onerror 이벤트를 사용하기 위해서는, 반드시 에러를 다룰 함수를  만들어야한다. 그런 뒤 onerror 이벤트 핸들러로 해당 함수를 호출하면 된다. 이 때 불려지는 함수는 세 개의 인자를 가지게 된다. msg(에러 메시지), url(에러를 발생시킨 페이지의 url) 그리고 line(몇 번째 행에서 에러가 발생했는지)

문법
onerror=handleErr

function handleErr(msg,url,l)
{
//Handle the error here
return true or false
}
onerror 에 의해 반환되는 값으로 브라우저에 표준 에러 메시지를 출력할지 말지 결정할 수 있다. 만약에 false를 반환하면 브라우저는 자바스크립트 콘솔에 표준 에러 메시지를 출력합니다. 하지만 만약 true를 반환한다면 브라우저는 표준 에러 메시지를 출력하지 않습니다.

예제
<html>
<head>
<script type="text/javascript">
onerror=handleErr
var txt=""

function handleErr(msg,url,l)
{
txt="There was an error on this page.\n\n"
txt+="Error: " + msg + "\n"
txt+="URL: " + url + "\n"
txt+="Line: " + l + "\n\n"
txt+="Click OK to continue.\n\n"
alert(txt)
return true
}

function message()
{
adddlert("Welcome guest!")
}
</script>
</head>

<body>
<input type="button" value="View message" onclick="message()" />
</body>

</html>
에러가 발생하면 onerror 이벤트가 발생하고 거기에 정해준 콜백 메소드가 실행됩니다. 이 때 메시지를 직접 작성한 뒤 표준 에러 메시지를 출력하지 않고 handleErr() 함수에서 작성한 메시지를 보여줍니다.

'AJAX > JavaScript' 카테고리의 다른 글

JavaScript Date Object  (1) 2007.07.09
JavaScript String Object  (1) 2007.07.09
JavaScript Objects Introduction  (0) 2007.07.09
JavaScript Guidelines  (0) 2007.07.09
JavaScript Special Characters  (0) 2007.07.09
JavaScript The onerror Event  (2) 2007.07.09
JavaScript Throw Statement  (0) 2007.07.09
JavaScript Try...Catch Statement  (0) 2007.07.09
JavaScript Events  (2) 2007.07.09
JavaScript For Loop와 While Loop  (1) 2007.07.09
JavaScript Functions  (0) 2007.07.09
top

  1. Favicon of http://www.eyegirl.co.kr BlogIcon 정병주 2010.03.10 15:26 PERM. MOD/DEL REPLY

    좋은 내용 감사합니다. 담아갈게요 ^^

    Favicon of http://whiteship.me BlogIcon 기선 2010.03.10 20:21 PERM MOD/DEL

    정리 한적이 있었는지 기억도 안나는 내용이네요;

Write a comment.




: 1 : ··· : 14 : 15 : 16 : 17 : 18 : 19 : 20 : 21 : 22 : ··· : 30 :