메뉴 건너뛰기

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

 

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


  1. No Image 28Sep
    by
    2018/09/28 Views 1528 

    엔터키 / enter key submit form

  2. No Image 21Sep
    by
    2016/09/21 Views 6033 

    엔코딩/디코딩 함수

  3. No Image 16Jan
    by
    2019/01/16 Views 3385 

    엑셀처럼 td 사이즈 조절하기

  4. No Image 16Jan
    by 조쉬
    2019/01/16 Views 1066 

    에러처리

  5. No Image 03Feb
    by
    2015/02/03 Views 7661 

    양력-음력

  6. No Image 20Aug
    by
    2021/08/20 Views 1708 

    시간 계산하기 (시/분/초/ 더하기, 빼기)

  7. No Image 12Sep
    by
    2016/09/12 Views 5833 

    스타일로 제목 자르기

  8. No Image 04Jul
    by
    2018/07/04 Views 3984 

    스마트에디터(SmartEditor)에서 textarea 유효성 체크하기

  9. 스마트 에디터 (네이버 에디터) 에디터 내에서 이미지 크기 줄이기.(리사이징)

  10. No Image 23Dec
    by
    2016/12/23 Views 6009 

    셀렉트(select) change 이벤트 (split)

  11. No Image 23Dec
    by
    2016/12/23 Views 5899 

    셀렉트(select) change href 이벤트

  12. No Image 23Dec
    by
    2016/12/23 Views 12576 

    셀렉트(select) change Ajax 이벤트

  13. No Image 28Apr
    by
    2015/04/28 Views 6614 

    선택된 데이터 부모창에 넘기기 (iframe ☞ 부모창)

  14. No Image 01Mar
    by
    2014/03/01 Views 5668 

    선택된 select 의 option 값을 다른 select로 넘겨주기

  15. No Image 28Apr
    by
    2015/04/28 Views 13538 

    선택(CheckBox) 된 Row 삭제 - 화면에서 추가된 Row

  16. No Image 01Mar
    by
    2014/03/01 Views 5513 

    샘플) top left menu

  17. No Image 01Mar
    by
    2014/03/01 Views 5715 

    새창을 띠워서 focus주기

  18. No Image 28Mar
    by
    2018/03/28 Views 6001 

    새로고침(F5) 금지

  19. 비동기 작업의 원리 (JavaScript 엔진, Web API, Task Queue, Event Loop)

  20. No Image 17Nov
    by
    2016/11/17 Views 7928 

    브라우저별 이미지 크기 변경

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved