>  기사  >  웹 프론트엔드  >  `window.onerror` 메커니즘을 사용하여 Flash에서 트리거된 정의되지 않은 함수 호출을 포함하여 모든 JavaScript 오류를 전역적으로 포착하려면 어떻게 해야 합니까?

`window.onerror` 메커니즘을 사용하여 Flash에서 트리거된 정의되지 않은 함수 호출을 포함하여 모든 JavaScript 오류를 전역적으로 포착하려면 어떻게 해야 합니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-27 06:30:29958검색

How can I globally catch all JavaScript errors, including undefined function calls triggered by Flash, using the `window.onerror` mechanism?

JavaScript의 전역 오류 메커니즘

문제: Flash에서 발생하는 정의되지 않은 함수 호출을 포함하여 모든 JavaScript 오류를 잡아낼 수 있는 전역적인 방법이 있습니까?

window.onerror를 사용한 솔루션

JavaScript는 런타임(캐치되지 않은 예외) 또는 컴파일(컴파일 시간 오류) 중에 발생하는 오류를 캡처하는 전역 이벤트 핸들러인 window.onerror를 제공합니다.

<code class="javascript">window.onerror = function(msg, url, line, col, error) {
  // Process and display error information
}</code>

window.onerror 이벤트 핸들러를 위와 같이 설정하면 JavaScript 코드 내에서 발생하는 모든 오류를 가로채서 처리합니다.

window.onerror가 처리하는 오류 유형

window. onerror는 포착되지 않은 예외와 컴파일 타임 오류를 모두 처리합니다. 포착되지 않은 예외에는 다음과 같은 오류가 포함됩니다.

  • throw "some message"
  • call_something_undefine()과 같은 정의되지 않은 함수 호출

컴파일 시간 오류 다음과 같은 오류를 포함합니다.

  • 종료되지 않은 스크립트 태그(<script>{</script>)
  • 구문 오류(