try { throw new Error(10,"asdasdasd") } catch (e) { 경고(e.message); 경고(e.설명) 경고(e.번호) 경고(e.이름) 새 오류 발생(10,"asdasdasd") } try { throw new Error(10,"asdasdasd") } catch (e) { 경고(e.message); 경고(e.설명) 경고(e.번호) 경고(e.이름) 새 오류 발생(10,"asdasdasd") }

>웹 프론트엔드 >JS 튜토리얼 >자바스크립트에서 catch 사용법을 소개합니다.

자바스크립트에서 catch 사용법을 소개합니다.

巴扎黑
巴扎黑원래의
2017-08-16 11:15:131932검색
예제 코드:
<script language="Javascript"> 
try
{ 
throw new Error(10,"asdasdasd") 
} 
catch (e) 
{ 
alert(e.message); 
alert(e.description) 
alert(e.number) 
alert(e.name) 
throw new Error(10,"asdasdasd") 
} 
  
</script>

예외 처리를 위해 Javascript에서 try...catch를 사용할 수 있습니다. 예:
try {
 foo.bar();
} catch (e) {
 alert(e.name + ": " + e.message);
}

현재 우리가 받을 수 있는 시스템 예외에는 주로 다음 6가지 유형이 포함됩니다.
EvalError: raised when an error occurs executing code in eval() 
RangeError: raised when a numeric variable or parameter is outside of its valid range 
ReferenceError: raised when de-referencing an invalid reference 
SyntaxError: raised when a syntax error occurs while parsing code in eval() 
TypeError: raised when a variable or parameter is not a valid type 
URIError: raised when encodeURI() or decodeURI() are passed invalid parameters

위의 6개 예외 개체는 모두 Error 개체에서 상속됩니다. 모두 다음 두 가지 생성 방법을 지원합니다.
new Error();
new Error("异常信息");

수동으로 예외를 발생시키는 방법은 다음과 같습니다.
try {
 throw new Error("Whoops!");
} catch (e) {
 alert(e.name + ": " + e.message);
}

예외 정보의 유형을 판단하려면 catch에서 판단하면 됩니다.
try {
 foo.bar();
} catch (e) {
 if (e instanceof EvalError) {
   alert(e.name + ":" + e.message);
 } 
 else if (e instanceof RangeError) {
   alert(e.name + ": " + e.message);
 } 
 // etc 
}

Error에는 다음이 있습니다. 주요 속성:
description : 오류 설명(IE에서만 사용 가능).
fileName: 오류 파일 이름(Mozilla에서만 사용 가능).
lineNumber: 오류가 있는 줄 수(Mozilla에서만 사용 가능)
message: 오류 메시지(IE의 설명과 동일)
이름: 오류 유형.
번호: 오류 코드(IE에서만 사용 가능)
stack: Java의 Stack Trace와 같은 오류 스택 정보(Mozilla에서만 사용 가능)
따라서 오류 메시지를 더 잘 이해하기 위해 catch 부분을 다음 형식으로 변경할 수 있습니다.
try {
 foo.bar();
} catch (e) {
 if (browserType != BROWSER_IE) {                
   alert("name: " + e.name + 
   "message: " + e.message + 
   "lineNumber: " + e.lineNumber + 
   "fileName: " + e.fileName + 
   "stack: " + e.stack);      
 } 
 else {            
   alert("name: " + e.name +    
   "errorNumber: " + (e.number & 0xFFFF ) + 
   "message: " + e.message");      
 } 
}

Javascript의 throw 명령은 실제로 어떤 객체든 던지면 이 객체를 catch로 받을 수 있습니다. 예:
try {
 throw new Date(); // 抛出当前时间对象 
} catch (e) {
 alert(e.toLocaleString()); // 使用本地格式显示当前时间 
}

위 내용은 자바스크립트에서 catch 사용법을 소개합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.