JavaScriptではどのタイプのオブジェクトをスローする必要がありますか?
昔ながらの例がたくさんありstring
、セミスタンダードError
タイプもあるようです。どちらか一方を優先する必要がありますか?
Error
オブジェクトおよびなどの特定のエラーオブジェクトはTypeError
、ECMAScript仕様で完全に標準化されています。ただし、ほとんどのブラウザで使用できるこれらのオブジェクトの一般的な非標準プロパティがあります。
エラー処理コードがスローするオブジェクトをどう処理するかを知っている限り、好きなものをスローできますが、オブジェクトを使用することには利点がありError
ます。
message
。したがって、ネイティブエラーと独自のエラーを処理するために別のコードを記述する必要はありません。Error
Mozillaやその他のブラウザのオブジェクトには、、、などの非常に便利な非標準のプロパティがfileName
ありlineNumber
ますstack
。これらはオブジェクトでのみ取得Error
でき、デバッグに非常に役立ちます。