JavaScriptの例外処理のサンプルです。try...catchとthrowを使用します。
目次
サンプル | 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を計算式で使用しているのでエラーが発生します。
4行目でcatchします。引数のeはエラーオブジェクトです。
5行目は、e.messageでエラー内容を表示します。(a is not defined)
6行目の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文で独自の例外を作成しています。
7行目は、作成した例外をcatchします。
関連の記事