메뉴 건너뛰기

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
번호 제목 날짜 조회 수
207 라디오버튼 선택 체크여부 radio checked 2014.03.01 12669
206 배너 램덤으로 부여주기 2014.03.01 5911
205 새창을 띠워서 focus주기 2014.03.01 5715
204 지정한 크기로 링크페이지 새창열기 2014.03.01 5455
203 샘플) top left menu 2014.03.01 5513
202 체크박스 체크하면 레이어 보여주기. 체크안하면 알려주기 2014.03.01 7458
201 주민등록번호로 성별/나이/연령대 구분 2014.03.01 8794
200 form 값 iframe 으로 넘기기 2014.03.01 6872
199 이미지나 태그정렬이 안맞을때 absmiddle 2014.03.01 5238
198 iframe을 리로드 하자! 2014.03.01 5933
197 영문, 숫자, 한글, 이메일 체크 하는 함수 2014.03.01 5292
196 iframe 높이 자동으로 잡아주기 2014.03.01 5855
195 라디오 버튼 체크 2014.03.01 5451
194 Textarea 글자수 체크 2014.03.01 5651
193 check_inputbox.js 2014.03.01 5407
192 input type checkbox 체크했는지 검사하는 소스 2014.03.01 5456
191 제목에 한글 영문 숫자 와 공란만 입력하게 하고 싶습니다. 2014.03.01 6461
190 자바 스크립트 confirm()함수에서 (확인,취소) -> (예,아니오) file 2014.03.01 10213
189 checkbox 한개 클릭으로 다른모든 checkbox 클릭되게 하기 2014.03.01 5709
188 선택된 select 의 option 값을 다른 select로 넘겨주기 2014.03.01 5668
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved