try { throw new Error(10,"asdasdasd") } catch (e) {alert(e.message); アラート(e.description) アラート(e.number) アラート(e.name) throw new Error(10,"asdasdasd") } try { throw new Error(10,"asdasdasd") } catch (e) {alert(e.message); アラート(e.description) アラート(e.number) アラート(e.name) throw new Error(10,"asdasdasd") }

ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript での try catch の使い方の紹介

JavaScript での try catch の使い方の紹介

巴扎黑
巴扎黑オリジナル
2017-08-16 11:15:131833ブラウズ
コード例:
<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 オブジェクトから継承されます。これらはすべて、次の 2 つの構築メソッドをサポートしています:
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 でのみ使用可能)。
メッセージ: エラーメッセージ(IEでの説明と同じ)
名前: エラーの種類。
番号: エラー コード (IE でのみ利用可能)。
スタック: Java のスタック トレースのようなエラー スタック情報 (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 コマンドは実際に次の形式に変更できます。任意のオブジェクトをスローすると、このオブジェクトをキャッチで受け取ることができます。例:
try {
 throw new Date(); // 抛出当前时间对象 
} catch (e) {
 alert(e.toLocaleString()); // 使用本地格式显示当前时间 
}

以上がJavaScript での try catch の使い方の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。