JavaScript 내에서 발생하는 모든 예외를 포착하는 가장 좋은 기술은 무엇입니까?
분명히 가장 좋은 방법은 try ... catch를 사용하는 것입니다. 그러나 비동기 콜백 등을 사용하면 까다로울 수 있습니다.
IE와 Gecko 브라우저가 window.onerror를 지원한다는 것을 알고 있지만 Opera와 Safari는 어떻습니까?
다음은 중앙 예외 처리 솔루션을 갖고 싶은 테스트 사례입니다.
// ErrorHandler-Test1
var test = null;
test.arg = 5;
// ErrorHandler-Test2
throw (new Error("Hello"));
// ErrorHandler-Test3
throw "Hello again";
// ErrorHandler-Test4
throw {
myMessage: "stuff",
customProperty: 5,
anArray: [1, 2, 3]
};
// ErrorHandler-Test5
try {
var test2 = null;
test2.arg = 5;
} catch(e) {
ErrorHandler.handleError(e);
}
// ErrorHandler-Test6
try {
throw (new Error("Goodbye"));
} catch(e) {
ErrorHandler.handleError(e);
}
// ErrorHandler-Test7
try {
throw "Goodbye again";
} catch(e) {
ErrorHandler.handleError(e);
}
// ErrorHandler-Test8
try {
throw {
myMessage: "stuff",
customProperty: 5,
anArray: [1, 2, 3]
};
} catch(e) {
ErrorHandler.handleError(e);
}
다른 테스트 사례가 생각되면 언급하십시오. 이러한 경우 중 일부는 ErrorHandler.handleError 메서드를 언급합니다. 이것은 try ... catch를 사용할 때 권장되는 지침 일뿐입니다.