JavaでExceptionが発生したとき、基本的にはtry~catch~finallyをつかっているのですが、今回Exceptionが吐かれないという事態があったのでメモします。
1 2 3 4 5 6 7 8 9 |
try{ String hoge= null; //なんらかの処理をしてhogeに値を代入する hoge = methodA(); }catch(SampleException se ){ //ログに吐く処理 }finally{ return hoge } |
処理のイメージは大体上記のような状態です。
- 起こったこととしてはmethodAでExceptionが発生したが、SampleExceptionではないためログには吐かれない
- methodAの処理は正常に行われていないため、hogeにはnullが入ったまま
という状態でした。
対処法としては下記のようにしました。
1 2 3 4 5 6 7 8 9 10 11 |
try{ String hoge= null; //なんらかの処理をしてhogeに値を代入する hoge = methodA(); }catch(SampleException se ){ //ログに吐く処理 }catch(SampleException2 se2){ //ここでは今回のExceptionを捕まえられる } return hoge |
エラーがわからないとすすみようながないので大変でした。