2012-03-30 3 views
4

질문자바 스크립트 - 트리거 오류

사용자 지정 자바 스크립트 오류 메시지를 트리거 할 수있는 방법이 있습니까? Chrome에서 브라우저에 메시지를 보내기위한 console.warn[error,log]을 찾았습니다. 그러나이 기능은 Chrome (및 Firefox)에서만 작동합니다. 그러나이 회선 자체는 Internet Explorer에서 오류를 트리거합니다.

Javascript 함수의 규칙을 위반하는 오류를 트리거 할 수 있기를 바랍니다. 예를 들어, 객체를 값으로 취하는 함수는 객체가 "dialog"속성을 가질 것으로 기대합니다. 해당 특성이 없으면 "모달 창 : 대화 상자 ID가 지정되지 않았습니다."라는 오류 메시지가 나타납니다.

나는 우리의 응용 프로그램의 프로그래머가 쉽게 균일하고 신뢰할 수있는 것입니다 대화 상자를 만들 수 있도록 함께 작동하는 PHP 클래스와 자바 스크립트 클래스를 건물입니다

상황.


예제 코드는

try { 
    if (!params || !params['dialog']) { 
     throw "NoDID"; 
    } 
} 
catch (error) { 
    if (error == "NoDID") { 
     //com.MySITE.js.warn("Modal Window: No dialog id specified."); 
     //Trigger custom error message here. 
    } 
} 

나는 쉽게 개발자 디버깅을 위해 자바 스크립트 창으로 이동하는 메시지를 싶습니다. "throw"를 수행하면 "Uncaught Custom Error Message"가됩니다. 사용자가 페이지의 아무 것도보고 싶지 않습니다. 개발자 용 js 로그에서 사용 가능하게하고 싶습니다.

답변

3
if (console) console.warn(... 

(또는 등 console.error, CONSOLE.LOG, console.trace을 사용할 수 있습니다).

console && console.warn(... 

을 또는 당신은 당신의 코드의 시작에서, 사방에 당신이 할 수 콘솔 검사를 좋아하지 않는 경우, 수행 : 또는 당신은 또한 할 수

window.console = console || {warn: function(){}}; 

즉, 경우 브라우저에 콘솔이 없으면 아무 것도하지 않는 가짜 "경고"방법으로 가짜를 만듭니다. 이렇게하면 브라우저에 콘솔이 있는지 여부를 염려하지 않고 코드 전체에서 console.warn을 수행 할 수 있습니다.

function warn(message) { 
    console && console.warn(message); 
} 

을 다음 방금 ("문제가 발생했습니다") 경고를 할 수있는 :

는 또 다른 접근 방법은 자신이 방법을 경고 할 것입니다.

물론 IE 사용자가 언제 사용자를 얻는 지 알아 보려면 서버의 어딘가에 AJAX 요청을해야한다는 자체 경고 메시지를 작성해야합니다. 어딘가에 이메일이나 뭔가를 보낼 것입니다).

+0

아, IE의 경우 서버 쪽 알림 방법 대신 Firebug 표시 등 (Firebug는 Firefox JS 개발 확장이되고 Firebug 표시 등은 JS에서 순전히 구현 된 Ghetto 버전 일 수 있습니다. Firefox가 필요 없음). – machineghost

+0

com.mySite.js와 같은 사용자 정의 응용 프로그램 이름으로 이와 비슷한 구현을 시작했습니다. 그러나 귀하의 솔루션이 청구서에 부합한다고 생각합니다. – teynon

8

사용 throw :

throw "Deliberate Error!"; 
+0

나는 개발자가 쉽게 디버깅 할 수 있도록 자바 스크립트 창으로 이동하는 메시지를 원합니다. "throw"를 수행하면 "Uncaught Custom Error Message"가됩니다. 사용자가 페이지의 아무 것도보고 싶지 않습니다. 개발자 용 js 로그에서 사용 가능하게하고 싶습니다. - 편집 된 질문의 코드를 참조하십시오. – teynon