>  기사  >  웹 프론트엔드  >  JavaScript에서 전역 오류 처리를 어떻게 구현할 수 있습니까?

JavaScript에서 전역 오류 처리를 어떻게 구현할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-26 16:48:03897검색

JavaScript의 전역 오류 처리 메커니즘: 처리되지 않은 오류 잡기

JavaScript에서는 처리되지 않은 함수 오류를 캡처하는 것이 중요합니다. 그러나 현재 언어에는 전용 전역 오류 처리 메커니즘이 부족합니다. 이 문서에서는 이 문제를 해결하기 위한 솔루션을 자세히 살펴봅니다.

window.onerror 이벤트 핸들러 할당

잡히지 않은 모든 JavaScript 오류를 캡처하려면 window.onerror를 할당할 수 있습니다. 이벤트를 사용자 정의 이벤트 핸들러에 추가합니다. 오류가 발생하면 핸들러는 여러 매개변수를 받습니다.

  • msg: 오류 메시지
  • url: 오류를 발생시킨 스크립트의 URL
  • 줄: 스크립트 내의 줄 번호
  • col(선택): 줄 내의 열 번호(HTML5에서 지원)
  • error(선택): 실제 오류 개체(HTML5에서 지원)

코드 예:

<code class="javascript">window.onerror = function(msg, url, line, col, error) {
  // Handle and log the error...
};</code>

window.onerror는 언제 실행됩니까?

window.onerror 이벤트는 언제든지 트리거됩니다. :

  • 잡지 못한 예외가 발생했습니다(예: "일부 메시지" 발생)
  • 컴파일 시간 오류 발생(예: 스크립트에서 닫는 괄호 누락)

지원되는 브라우저

window.onerror 이벤트는 다음을 포함한 주요 브라우저에서 지원됩니다.

  • Chrome 13
  • Firefox 6.0
  • Internet Explorer 5.5
  • Opera 11.60
  • Safari 5.1

스크린샷 예

How Can You Implement Global Error Handling in JavaScript?

AJAX 오류 보고

오류 보고를 용이하게 하기 위해 AJAX를 활용하여 로깅 또는 추가 분석을 위해 오류 세부 정보를 서버 측 스크립트로 보낼 수 있습니다.

<code class="javascript">var xhr = new XMLHttpRequest();
xhr.open('POST', '/ajax/log_javascript_error');
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onload = function() { ... };
xhr.send(JSON.stringify(errorData));</code>

참조

자세한 내용은 다음 리소스를 참조하세요.

  • Mozilla 개발자 네트워크 :: window.onerror
  • MSDN :: 웹 페이지 오류 처리 및 방지 2부: 런타임 오류
  • 기본으로 돌아가기 – JavaScript onerror 이벤트
  • DEV.OPERA :: 창을 사용한 오류 처리가 개선되었습니다. onerror
  • Window onError 이벤트
  • onerror 이벤트를 사용하여 JavaScript 오류 억제
  • SO :: window.onerror가 Firefox에서 실행되지 않음

위 내용은 JavaScript에서 전역 오류 처리를 어떻게 구현할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.