Javaの例外処理について、みなさまの開発チームでは運用ルールなどはありますか?
皆様の意見をお聞きしたいのは以下になります
1.事前にパラメータチェックするか
パラメータチェックせずに例外でチェックするか
ルールはありますか?
2.関数内でtry-catchするのか
呼び出し元へ例外を投げるのか
ルールはありますか?
3.例外を呼び出し元へ投げる場合には、発生した例外をそのまま投げますか?
それとも、独自の例外などに変換して投げますか?
4.throwsの記載には呼出元へcatchすることを強制する以外に意味があるのでしょうか?
テストしたところ、動作が変わらないように思えました
throwsには何を記載するようにしていますか?
5.例外処理に関して、有名なベストプラクティスなどはありますか?
<補足>
私はC言語出身の人間であったため、パラメータのチェックは事前に行い、
例外処理は基本は全て発生させないといった頭だったのですが、
色々調べてみますと、チェック処理が大量になるのを避けるため、
気軽に処理を呼出し、チェック処理は例外で一括化といった方法もあるようでした
そもそもJavaがそういった設計思想だったといった内容も見かけた気がします
事前チェックタイプの方が原因を特定しやすい気もしますが、
モダンなJavaの書き方ではないのでしょうか?
また、try-catchする場所に関しても、色々な意見があるようでして、
基本は全て呼び出し元へ投げ、一番上位層で処理するとか
基本は全て関数内でtry-catchし、処理できない場合のみ呼出元へ投げるとか
NumberFormatExceptionは事前チェックするけど、NullPointerExceptionはしないとか
FileNotFoundExceptionは呼出元へthrowするけど、IndexOutOfBoundsExceptionはcatchするとか、例外によってルールは異なるかもしれませんが、有名なルールや、ベストプラクティスといったものはあるのでしょうか?
もし、知っていましたら教えて頂けますと助かります
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/12 02:59