6

JavaScriptではどのタイプのオブジェクトをスローする必要がありますか?

昔ながらのがたくさんありstring、セミスタンダードErrorタイプもあるようです。どちらか一方を優先する必要がありますか?

4

1 に答える 1

7

Errorオブジェクトおよびなどの特定のエラーオブジェクトはTypeError、ECMAScript仕様で完全に標準化されています。ただし、ほとんどのブラウザで使用できるこれらのオブジェクトの一般的な非標準プロパティがあります。

エラー処理コードがスローするオブジェクトをどう処理するかを知っている限り、好きなものをスローできますが、オブジェクトを使用することには利点がありErrorます。

  • プロパティを持つなど、ネイティブコードによってスローされたエラーの処理との一貫性message。したがって、ネイティブエラーと独自のエラーを処理するために別のコードを記述する必要はありません。
  • ErrorMozillaやその他のブラウザのオブジェクトには、、、などの非常に便利な非標準のプロパティがfileNameありlineNumberますstack。これらはオブジェクトでのみ取得Errorでき、デバッグに非常に役立ちます。
于 2010-11-08T12:48:27.507 に答える