메뉴 건너뛰기

2019.01.16 18:18

에러처리

조회 수 1066 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

* 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
}

ddd

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

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

 

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

 

[에러 보고로 사용자를 괴롭히지 않기]
window.onerror = function(){ return true; }

 

후기
위 예제를 이용하여 자바스크립트 에외처리를 하면 도움이 될것 같다.


List of Articles
번호 제목 날짜 조회 수
87 'setInterval', 타이머를 사용하자! ==setTimeout 2015.02.03 6223
86 'blur', 이미지 클릭시 테두리를 없애자! file 2015.02.03 7362
85 'setTimeout', 타이머를 사용하자! file 2015.02.03 7034
84 'opener', 부모창과 자식창의 텍스트를 교환하자! file 2015.02.03 7310
83 'open', 새창을 열어보자! file 2015.02.03 6037
82 'checkbox', 체크박스 모두체크 그리고 모두해제! file 2015.02.03 7492
81 'button', 클릭한 횟수 알아내기! file 2015.02.03 10763
80 유효성 검사, 모든 폼에 값이 입력되도록 해보자! file 2015.02.03 6125
79 'focus', 엔터 누르고 이동하자! file 2015.02.03 12859
78 5초후 자동으로 창닫기 2015.02.03 9040
77 달력 2015.02.03 6684
76 양력-음력 2015.02.03 7688
75 버튼 삭제 2015.02.03 5951
74 라디오 바스 체크 유무 확인 2015.02.03 6349
73 문자열 바꾸기 2015.02.03 5729
72 마우스로 이미지크기 조절(자바스크립트) 2015.02.03 6530
71 페이지 로드 할때 컨트롤에 포커스 주기 2015.02.03 8500
70 자바스크립트 영문입력, 숫자만입력, 한글만 입력, 붙여넣기 방지 2015.02.02 10181
69 이미지 마우스 드래그로 스크롤을 움직이는 소스 2014.03.17 9362
68 특정부위 마우스 오버시 설명을 보여주는 소스 2014.03.17 8698
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved