「JavaScript/例外処理」の版間の差分
削除された内容 追加された内容
Semi-Brace (トーク | 投稿記録) M fix lint error (use script) |
Errorオブジェクトをthrowする形にした。言語仕様ではないがユーザと処理系とで投げる例外オブジェクトの型が一致しないとcatchが混乱するので。 |
||
31 行
== try-catch ==
try文のブロックの中で例外が発生すると、catch
<syntaxhighlight lang="javascript">
try {
throw new Error( "エラー!" );
}
catch (e) {
alert(e.message); // "エラー!" と警告
}
44 行
</syntaxhighlight>
catch
== finally ==
finally
<syntaxhighlight lang="javascript">
63 行
</syntaxhighlight>
例外が発生した場合は、catch
<syntaxhighlight lang="javascript">
try {
alert("try"); // 0. "try" と警告
throw
}
catch (e) {
80 行
</syntaxhighlight>
try文の後にはcatch
==大域脱出==
86 行
ですが、大域脱出を使うことは極力避けてください。breakやreturnを[https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/label ラベル]と共に使用することで、ほとんどの場合は帯域脱出を使うことなく要件を達成できます。
例えば、Array.prototype.forEachメソッドの様にcallbackで反復処理を行う場合は、例外による帯域脱出が適用なケースです。
[[Category:JavaScript|れいかいしより]]
|