throwのMozillaの説明では、throw
が式を受け入れると説明されています。通常、例外でスローされるオブジェクトはerrorなので、エラーオブジェクトの代わりに他のもの(文字列や数値など)をスローすることには不利な点がありますか?なぜ何かの代わりにErrorオブジェクトを投げるのはなぜですか?
1
A
答えて
2
具体的な答えではありませんが、message
のような特定のプロパティが含まれていることがわかっている標準オブジェクトを持つと、残りのアプリケーションがそれに応じて簡単に対応できます。
また、これらのエラーがキャッチされずにトップに吹き飛ばされた場合、そのエラーをオフサイトでログに記録するLoggly(またはそれに類似したもの)などのサービスを持つと、標準エラーオブジェクトによって、あなた
+0
基本的に標準化されています。私が正しく理解していれば –
+0
おそらく多くの理由がありますが、私にとっては標準化が大きなものになるでしょう。それは面白い質問です!スタックトレースとエラー出力は関係なく取得されるためです。そう、ええ、私は標準化が大事だと信じています – Chris
関連する問題
- 1. シングルの代わりにダブルクリックするのはなぜですか?
- 2. なぜeslintはrequire文にエラーを投げるのですか?
- 3. なぜ代わりに+
- 4. サブプロセスがWindowsErrorを投げているのはなぜですか?
- 5. GuiceがNoSuchMethodErrorを投げているのはなぜですか?
- 6. KerasがResourceExhaustedErrorを投げているのはなぜですか?
- 7. なぜActiveResourceはオブジェクトの代わりに配列のハッシュを返しますか?
- 8. なぜ... ...うまく失敗するのですか?例外を投げるのはなぜですか?
- 9. なぜActiveRecord :: Calculations.maximumは、ActiveSupport :: TimeWithZoneの代わりにTImeオブジェクトを返しますか?
- 10. なぜこれがIndexErrorを投げているのですか?
- 11. なぜHttpNotificationChannel.OpenがArgumentException()を投げているのですか?E_INVALIDARG?
- 12. なぜ44の代わりに48のサイズですか?
- 13. CodeIgniterの代わりに500sを投げますか?
- 14. なぜ** ob_itemの代わりに、*
- 15. なぜSELECT 0、...の代わりに、SELECT
- 16. なぜ2,3の代わりに出力2,0ですか?
- 17. なぜこの基本的なプレイプレーブはエラーを投げるのですか?
- 18. ArrayListにsize()の代わりにgetSize()がないのはなぜですか?
- 19. なぜ "formvalidation plugin"はリモート検証のバグを投げますか?
- 20. なぜオブジェクトの代わりに[オブジェクトオブジェクト]を取得していますか
- 21. なぜRustは "switch"か "case"の代わりに "match"を使うのですか?
- 22. RELEASEの代わりにNDEBUGを使用するのはなぜですか?
- 23. sympyが `__init__`の代わりに` __new__`をオーバーライドするのはなぜですか?
- 24. WireMockの代わりにMockWebServerを使用するのはなぜですか?
- 25. なぜlaravelはセッションエンコード/デコードの代わりにセッションデータをシリアライズするのですか?
- 26. Symfonyプロキシの代わりにワニスを使用するのはなぜですか?
- 27. JSONの代わりに[object Object]を取得するのはなぜですか?
- 28. »の代わりに»を印刷するのはなぜですか?
- 29. FragmentStatePagerAdapterの代わりにFragmentPagerAdapterを使用するのはなぜですか?
- 30. なぜhave_posts()、the_post()はポストの代わりにページをレンダリングするのですか?
エラーのより正確な説明を与えます。エラーオブジェクトをスローすると、エラーとしてクライアントのコンソールにエラーとして表示されます。 – PHPglue
これは、スローされたエラーで何をしたいかによってまったく異なります。 – Teemu
文字列(エラー以外のオブジェクトではない)を投げても、クライアントコンソールにエラーが表示されます:http://imgur.com/5kERF0N – Chris