add()
メソッドを使用してコレクションに要素を追加しているときに、UnsupportedOperation
,IllegalArgumentException
,NullPointerException
、ClassCastException
,Collection#add()
メソッドを処理するのがよいですか?私はJava RuntimeExceptionを処理する必要がありますか?
答えて
いいえ、発生しないことがわかるようにコードを記述する必要があります。私。変更不可能なコレクションを変更しようとしないでください。その結果、UnsupportedOperationException
などになります。
さらに、それらを処理する方法はありますか?
ありがとうございました。デザインの匂いに応じて、このようなオブジェクトを作成するときに例外を処理する必要があることを示す「反響階層」というトピックがあります。
「ハンドル」の意味によって異なります。
どこかのアプリケーションには、のログが必ず記録されます。必ずしもCollection.add()
コールに近いとは限りません。トップレベルのラッパーのほうがずっと良い場所かもしれません。
ただし、これらの例外(または他の例外)をキャッチする場合は、「add()
は成功していませんが、ここから正常に処理できますか?」と尋ねてください。私の経験からすれば、大部分の場合、要素を追加することはできません。なぜなら、それがアルゴリズムに必要な要素なので、失敗するか、間違った結果が出るからです。だから、呼び出し元に、あなたの仕事を遂行することができないと言いたいのです。それは、例外をスローすることを意味します。
ローカルのプログラマーの間違いのためにアプリケーション全体が停止しないようにするため、トップレベルのメニュー機能やサービス要求などのラッパーが意味を持ち、すべてのThrowableをキャッチしてロギングし、ユーザに通知して、アプリケーションが次のコマンド/要求を受け入れる状態にする(自動的に行われない場合)。
このように、laziestプログラマーは、不必要なcatch節を決して導入しないため、最も堅牢なコード(例外的に)を生成することがよくあります。
- 1. SSL_read()はSSL_ERROR_WANT_WRITEを処理する必要がありますか?
- 2. VBscriptにはモジュールがありますか?私はCSVを処理する必要があります
- 3. RuntimeExceptionベストプラクティスを処理する
- 4. DDDでは、誰がドメインイベントを処理する必要がありますか?
- 5. バッチ処理を処理するJavaキューオブジェクトまたはメカニズムがありますか?
- 6. ファイルをダウンロードするページがwebclientで処理する必要があります
- 7. SOAP/JMSは常にフォルトを処理する必要がありますか?
- 8. LocalTargetsでは、アトミシティを自分で処理する必要がありますか?
- 9. get_prep_value()はvalue = Noneを処理する必要がありますか?
- 10. 私はJavaをテストする必要があります
- 11. Android RuntimeException:アクティビティはOnFragmentInteractionListenerを実装する必要があります
- 12. iPhone:どのコントローラがCRUDロジックを処理する必要がありますか?
- 13. CommunicationExceptionsはWCFのサーバー側で処理する必要がありますか?
- 14. ViewControllerはビューのサブビューのアクションも処理する必要がありますか?
- 15. モバイルアプリではどのくらい処理する必要がありますか?
- 16. 処理を取り消す必要がありますか?開始(URL)?
- 17. RxTx SerialEvent.DATA_AVAILABLEイベントをどのスレッドで処理する必要がありますか?
- 18. signed_requestの処理。参照元を確認する必要がありますか?
- 19. Volley onResponse()をバックグラウンドスレッドで処理する必要がありますか?
- 20. LANのクライアントサーバー(Webサーバー)アプリ - プロキシを処理する必要がありますか?
- 21. EmptyStacksの新しいRunTimeExceptionを作成する必要があります
- 22. バインディングエラーとコンバーターエラー。何とか私はそれらを処理する必要がありますか?
- 23. Javaの初心者が必要です(私はJavaでMP3プレーヤーを構築する必要があります)
- 24. ANRエラー - スクリーンオフ - どのように処理する必要がありますか?
- 25. EJB、RMI、クラスタリングが処理を分散する必要があります
- 26. 私はどのようにサービスドメインの注入を処理する必要がありますか?
- 27. モノタック:ビューを処分する必要がありますか?
- 28. 私はjavaで配列リストを作成する必要がありますか?
- 29. HttpContext.RemapHandlerは要求を処理するハンドラを変更する必要がありますか?
- 30. 例外が処理された後にブレークする必要があります
これらのことが起こらないような方法でコードを記述することをお勧めします。表示されるエラーは、一般的にプログラミングエラーを示します。 – khelwood
ようこそスタックオーバーフロー! [ツアー]を見て回り、[ヘルプ]、特に[*どのように良い質問をしますか?*](/助け/やり方)、[* *](/ help/dont-ask)、[*ここではどのような話題を聞くことができますか?*(/ help/on-topic)* "多くの良い質問は、この質問への回答は、事実、参考文献、または特定の専門知識ではなく、概ね意見に基づいている傾向があります。」* –