JavaScriptの例外処理のサンプルです。
try...catchとthrowを使用します。
目次
try...catch構文
| try { 処理 } catch ( 変数 ) { 処理 } finally { 処理 } |
- tryの処理で例外が発生した場合、catchの例外処理が実行されます。
- 全体の処理が落ちることを防ぎます。
- catchの変数はErrorオブジェクトを受け取ります。
- finallyは例外があってもなくても実行されます。
- finallyは省略可能です。
- 以下はMDNのtry...catch構文のリンクです。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/try...catch
コード
try...catch構文のサンプルです。
<script>
try{
let b = 100 * a;
}catch(e){
console.log(e.message);
// 出力結果: a is not defined
}finally{
console.log("finallyです"); // finallyです
}
</script>
3行目は定義されていない変数aを計算式で使用しているのでエラーが発生します。
5行目でcatchします。引数のeはエラーオブジェクトです。
6行目は、e.messageでエラー内容を表示します。(a is not defined)
9行目のfinallyも実行されます。
throw文
| throw new Error (文言) |
- 独自の例外を作成します。
- try...catch構文で作成した例外をキャッチできます。
- 以下はMDNのthrow文のリンクです。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/throw
コード
throw文のサンプルです。
<script>
const a = 1;
try{
if(a === 1){
throw new Error("1はエラー");
}
}catch(e){
console.log(e.message);// 1はエラー
}finally{
console.log("finallyです"); // finallyです
}
</script>
5行目は、throw文で独自の例外を作成しています。
8行目は、作成した例外をcatchします。
関連の記事