메뉴 건너뛰기

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
번호 제목 날짜 조회 수
247 유효한 링크인지 확인하는 JAVASCRIPT 2019.01.16 111908
246 [jQuery] 상위부터 차례로 지역 선택하기 2014.03.01 45959
245 Javascript - 이미지 미리보기 회전되어 나옴(EXIF) file 2021.03.09 36277
244 javascript 인쇄 미리보기, 출력, 페이지 설정 등 2014.03.01 32324
243 Checkbox : 체크박스 체크여부 확인 file 2015.06.19 19010
242 날짜 및 시간 입력 구현하기, Bootstrap DateTimePicker file 2017.04.06 16530
241 공백 검사 함수 2015.06.19 14576
240 선택(CheckBox) 된 Row 삭제 - 화면에서 추가된 Row 2015.04.28 13537
239 'focus', 엔터 누르고 이동하자! file 2015.02.03 12857
238 라디오버튼 선택 체크여부 radio checked 2014.03.01 12669
237 셀렉트(select) change Ajax 이벤트 2016.12.23 12572
236 input type file multiple list (파일 업로드 리스트 확인) file 2016.11.17 12433
235 간단한 동적 SELECT 박스 구현하기 2016.10.06 12367
234 GET방식으로 전송시 특수문자함께 전송하는 방법 2016.12.22 12338
233 텍스트박스(input type = "text") 숫자 증가, 감소 시키기 - 쇼핑몰 주문 수량 file 2015.06.19 12281
232 창 크기 최대화 시키기 file 2015.06.19 12217
231 [jQuery] 실시간 검색어 순위 순서대로 보여주기 2014.03.01 12017
230 jquery 메뉴 - 아래로 한번에 전체가 펼처짐 file 2015.04.06 11698
229 'Array', 배열 및 다차원 배열 선언에 대해 알아보자! 2015.02.03 11110
228 랜덤 배너 노출 스크립트 2019.04.29 11032
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved