2014-04-16 1 views
1

필자는 항상 존재하지 않는 함수를 사용하려고 시도하거나 함수가 아닌 오류 메시지를 개선하는 방법이 있는지 궁금해했습니다. 예를 들어 :JavaScript : 정의되지 않은 함수의 이름을 시도 할 수 있습니까?

document.iDontExist() 
TypeError: undefined is not a function 

내가 좋아하는 뭔가를 로그인 할 수 싶습니다

document.iDontExist is not a function 

은 단 몇 초를 저장합니다. 줄 번호 등이 있다는 것을 알았습니다. 가능한지 궁금합니다. 시도한 이름을 찾기 위해 사용할 수있는 TypeError의 속성이 있습니까?

답변

1

아니요 - 일반적으로 아닙니다.

JavaScript는 함수를 호출하기 위해 "메시지를 보냅니다"않고 모든 표현식 구문은 () 연산자를 적용 할 수 있습니다 .. 브라우저 엔진 중 어느 것도 더 유용한 메시지를보고하기 위해 표현식을 "읽으려고"시도하지 않습니다.

디버거 (break-on-exception 포함)는 유용 할 수 있지만 그렇지 않은 경우 예외는 수동 개입 없이도 일반적으로 유지됩니다.

0
불행하게도

하지, 그러나 이것은 당신을위한 옵션 인 경우, 작동 할 수 ...

대신 document.iDontExist()를 호출

는 시도 : 단지에

(document.iDontExist || logError("iDontExist undefined")) && document.iDontExist(); 

이 남용 논리 연산자는 함수의 경우 호출 그것은 존재하고, 에러를 로그합니다 (그렇지 않으면 logError이 존재한다고 가정합니다!).

관련 문제