⊗jsSpExcThr 145 of 294 menu

JavaScriptでの例外のスロー

前のレッスンでは、何か問題が発生した場合に JavaScriptが例外をスローする2つの場所を 学びました。

しかし、あなたのプロジェクトでは、あなたにとっては例外的な状況であっても、 JavaScriptにとってはそうでない状況があるかもしれません。 そのような場合、独自のカスタム例外を作成し、 スローすることができます。

これに必要な構文を見てみましょう。 まず、new Errorコマンドを使用して例外を作成し、 パラメータとして例外テキストを渡します:

new Error('例外テキスト');

次に、throwコマンドを使用してこの例外をスローする 必要があります:

throw new Error('例外テキスト');

例外をスローすると、JavaScriptは例外的な状況が 発生したと判断します。 これは、try-catch構文を使用してそのような 例外をキャッチし、必要な方法で処理できることを 意味します。

実際の使用例を見てみましょう。 ある数を別の数で割る関数があるとします:

function div(a, b) { return a / b; }

ゼロによる除算は禁止されており、 それを試みると例外的な状況が発生するべきである とみなしましょう。 そのために、関数内でゼロによる除算の試みが ないかをチェックします。 ない場合は除算を行い、 ある場合は例外をスローします:

function div(a, b) { if (b !== 0) { return a / b; } else { throw new Error('ゼロ除算エラー'); } }

まず、例外をキャッチせずに 0で割ってみましょう:

alert( div(3, 0) );

この場合、スクリプトの実行は中断され、 コンソールに 'ゼロ除算エラー' という テキストのエラーが表示されます(確認してください)。 次に、私たちのエラーをキャッチして 何らかの処理をしてみましょう:

try { alert( div(3, 0) ); } catch (error) { alert('ゼロによる除算は禁止されています'); }

JavaScriptでは、負の数の平方根を求めようとしても 例外はスローされません:

let result = Math.sqrt(-1); console.log(result); // NaNを出力します

数値の平方根を求める独自の関数を書き、 負の数から平方根を求めようとした場合に 例外をスローするようにしてください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否