메뉴 건너뛰기

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 셀렉트(select) change 이벤트 (split) 2016.12.23 6009
86 셀렉트(select) change Ajax 이벤트 2016.12.23 12614
85 셀렉트(select) change href 이벤트 2016.12.23 5899
84 팝업창 가운데 띄우기 2016.12.23 6705
83 [INPUT BOX] 텍스트박스(INPUT 박스) 가 동적으로 추가,삭제됩니다 2017.02.19 8526
82 날짜 및 시간 입력 구현하기, Bootstrap DateTimePicker file 2017.04.06 16543
81 새로고침(F5) 금지 2018.03.28 6001
80 Javascript selectbox selected 컨트롤 file 2018.06.21 10060
79 스마트 에디터 (네이버 에디터) 에디터 내에서 이미지 크기 줄이기.(리사이징) file 2018.07.04 2715
78 체크박스(CheckBox) 전체 선택, 전체 해제 checked file 2018.07.04 2926
77 SelectBox에서 선택된 항목의 텍스트, 값 가져오기 선택 옵션 넣기. 2018.07.04 4014
76 반복문 사용할때 태그 식별하기 data-item 2018.07.04 1852
75 스마트에디터(SmartEditor)에서 textarea 유효성 체크하기 2018.07.04 4003
74 다음 우편번호(주소) api 예시 file 2018.07.04 4908
73 cross site scripting을 막기위한...javascript 2018.07.24 1596
72 유용한 스크립트 모음 2018.07.24 2296
71 key pressing 누르거나 클릭중인 이벤트 예제 2018.08.29 1622
70 테이블에서 해당 열의 인덱스 값 얻는 방법 2018.08.29 2797
69 팝업창 차단 "허용 메시지" 2018.09.28 1738
68 엔터키 / enter key submit form 2018.09.28 1528
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved