##Javaの例外処理のベストプラクティス
訳があって古いJavaでシステムを開発しています。例外処理に対して
java
1 2private void MainSubRoutine(){ 3 4 try{ 5 複数個の処理 6 } 7 catch(fooException e){} 8 catch (hogeException e){} 9 catch (Exception e) {} 10} 11
というコードを書いていたのですが
java
1 2private void MainSubRoutine(){ 3 4 try{ 5 単一の処理 6 } 7 catch(fooException e){} 8 try{ 9 単一の処理 10 } 11 catch (hogeException e){} 12 try{ 13 単一の処理 14 } 15 catch (Exception e) {} 16} 17
のようにする方が良いと教わったのですがキャッチする例外が多数重複している時に
冗長になる気がするのですがどちらの方式がいいのでしょうか。
上記の方で書いた理由はサーバ接続のエラーはレスポンスにエラーメッセージが返ってくるので例外処理で
それぞれのエラーメッセージを出力することで問題を切り分けられるに十分であると考えたからなのですが
下の書き方がどうもしっくりこないのです。もっといい方式はないでしょうか。
色々調べてみたのですが独自の例外クラスを作るほどの大袈裟な処理ではないので
標準エラークラスだけで何とかしようと思っています。
もし、単一の処理毎に例外処理の記述をするのであればたとえば、インターフェースを利用して
java
1 2private void ErrorThrow(IException e){ 3 4 try{ 5 throw e; 6 } 7 catch(fooException e){} 8 catch (hogeException e){} 9 catch (Exception e) {} 10 11} 12 13 private void MainSubRoutine(){ 14 15 try{ 16 単一の処理 17 } 18 catch (Exception e) { 19 ErrorThrow((hogeExeption) e) 20 } 21 try{ 22 単一の処理 23 } 24 catch (Exception e) { 25 ErrorThrow((fooExeption) e) 26 } 27}
のようにキャストを利用して投げるエラーを返る振り分けなどをするといった方法はどうでしょうか。
ご教授お願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/12/08 03:41
2015/12/08 03:52
2015/12/08 03:52
2015/12/08 03:54
退会済みユーザー
2015/12/08 03:58
2015/12/08 04:00
2015/12/08 04:01
2015/12/08 04:06
退会済みユーザー
2015/12/08 04:23 編集
2015/12/08 05:06