2011-08-19 5 views
10

프로그래머 측에서 모든 JavaScript 런타임 오류 팝업을 어떻게 억제 할 수 있습니까?모든 JavaScript 런타임 오류를 억제하는 방법은 무엇입니까?

+3

전체 코드를'try ... catch' 블록으로 래핑 할 수 있습니다. 그러나 오류를 수정하는 것이 더 낫습니다;) –

+0

가끔 'try ... catch'를 사용할 가능성이 없습니다. 예를 들어 외부 라이브러리에서 오류가 발생하는 경우가 있습니다. window.onerror 이벤트를 사용하여이 경우 솔루션, 내 대답을 참조하십시오. – Skip

답변

16

모든 JavaScript 오류를 표시하지 않으려면 window.onerror 이벤트가있는 것 같습니다.
true를 반환하는 함수로 가능한 한 빨리 (예 : 머리 바로 뒤에서) 대체하면 디버깅이 완료된 후에 매우 유용한 오류 팝업이 표시되지 않습니다.

+1

_ HTMLDocumentEvents4 :: onerror 이벤트는 런타임 오류는 발생하지만 컴파일 오류는 발생하지 않습니다. 또한 스크립트 디버거에 의해 발생하는 오류 대화 상자는 [MSDN] (http://msdn.microsoft.com/en-us/library/ff976266(v=vs.85)에서 true._을 반환하여 ** 표시 안 함 **입니다.) .aspx) – Bakudan

+0

이 방법은 Angular 2.x + 앱에서 작동하지 않는 것 같습니다. 오류 자체를 각도로 처리하기 때문일 수 있습니다. –

1

here 내가 "@"PHP에서와 같은 오류를 억제하기위한 약간의 스크립트를 만들어 설명 된대로

<head> 
<script type="text/javascript"> 
    window.onerror = function(message, url, lineNumber) { 
     // code to execute on an error 
     return true; // prevents browser error messages 
    }; 
</script> 
... 

오류 로깅도 가능하다.

여기는 example입니다.

var at = function(test) { 
    try { 
     if(typeof test === "function") return test();    
     else return test || null;   
    } catch (e) { 
     return null; 
    } 
}; 
관련 문제