目次
【解説】throw new Error()の意味をまとめてみた【JavaScript】
JavaScriptにてswitch文を使う時によくthrow文を見ますよね。
こんな感じで↓
throw new Error()
これの意味が学習中にあまり理解できなかったので、今回まとめてみました。
ちなみにswitch文については下記で解説済み。
【解説】JavaScriptのswitch文の使い方【サンプル付き】わかりやすくこちらの順で解説していきます。
①:throwとは?
②:new Error()とは?
③:throw new Error()とは?
1つずつ見ていきましょう。
throwとは、エラー・例外処理を発生させる時に使えます。
使い方はこんな感じ↓
throw 例外の式
例として下記のように書いてみると、添付画像のようにコンソールにてエラーがでます。
throw 30;
throw "スローとは?"
throw true;
ようは「throwを使うと意図的にエラーが起こせる」といことですね。
new Error()
new Error()にてErrorオブジェクトを生成しています。インスタンス化ですね。
Errorオブジェクトは、JavaScriptでエラーを扱うための組み込みオブジェクトのこと。
ようはエラーの種類やメッセージ、エラーに関する詳細情報を提供してくれるみたいな感じです。
つまりそんなエラーに関する情報があるErrorオブジェクトを、生成している文章となります。
ちなみに引数にはエラーのメッセージを指定できます。
new Error('この引数がエラーメッセージになる');
ここまでをまとめると下記です。
throw →「意図的にエラーを発生」
new Error() →「エラーの詳細情報を提供するオブジェクトを生成」
つまりthrow new Error()とは「意図的にエラーを発生させ、かつ、そのエラーの詳細情報を扱える」ということ。
例として下記コードを実行すると、、、
throw new Error('この引数がエラーメッセージになる');
このようなエラーが発生します。
意図的に発生させたエラーのメッセージを、Errorオブジェクトを使って扱うことができました。
というわけでthrow new errorの意味をまとめてみました!
ちなみに「console.error」というものもありますが、これとthrowでは意味合いがことなります。
「console.error」はエラー文章を出すだけで、エラー自体は起きておりません。
つまりコンソールログで確認すると、それぞれこうなります↓
console.error('エラーです');
console.log('メッセージです')
console.errorの場合は実際エラーが起きていないので、その後の処理も行われています。
throw new Error('エラーです');
console.log('メッセージです')
Uncaught Error: エラーです
ただthrowは実際にエラーを発生させているので、その後の処理が行われません。
こういった違いがあります。
【解説】throw new error()の意味をまとめてみた【JavaScript】:まとめ
- throw →「意図的にエラーを発生」
- new Error() →「エラーの詳細情報を提供」
- throw new Error() →「意図的にエラーを発生させ、かつ、そのエラーの詳細情報を扱える」
throw new errorを使う時はためしてみてね!