1. ホーム
  2. java

スローまたはトライキャッチ

2023-07-20 18:35:21

質問

を追加するかどうかを決定する際の一般的な経験則は何ですか? throws 節をメソッドに追加するか、あるいは try-catch ?

私自身が読んだ限りでは throws は、呼び出し側が契約の終了(渡されたオブジェクト)を破ったときに使われるべきものであり try-catch はメソッド内部で実行されている操作で例外が発生したときに使用されます。これは正しいのでしょうか?もしそうなら、呼び出し側で何をすべきでしょうか?

P.S: GoogleとSOで検索しましたが、これに関する明確な答えが欲しいです。

どのように解決するのですか?

  • 意味のある方法で処理できる場合のみ例外をキャッチする
  • 現在のメソッドの消費者によって処理される場合、例外を上向きに投げることを宣言します。
  • 入力パラメータが原因の場合、例外を投げる (ただし、これらはチェックされないことの方が多い)