質問: se; throws se; } } } クラスAのmethod2のみで生成しているメッセージが、画面上に「B:null」と表示される時があり、原因調査のためソースコードを追いかけております。 死ぬほど長い上に、意味不明な記述が散見されるソースのため(すみません。愚痴です。)、まずは当たりをつけて気長に取り組むつもりです。(再現性も「あまり」ないようですので。) で、ソースを見て思ったのはmethod2のcatch節で表示したメッセージはmethod1のcatch節で握りつぶされているはずなのに、なぜ画面に表示されるの?ということです。 (上位メソッドで握りつぶされる運命のmethod2のメッセージ表示処理って何?というツッコミは置いといてください。) ちなみにメッセージ表示はクラスAのクラス変数にセットすることで行っております。 なお、method2の使用箇所は、全ソースを調査した(つもりかもしれませんが)結果、クラスAのmethod1の1箇所のみで使用していることを確認済みです。 1:method3にてSQLExceptionをスロー 2:method2にてExceptionをキャッチ 3:method2のcatch節にて問題のメッセージを生成 4:method2のcatch節にてキャッチしたExceptionをスロー この後でmethod1でExceptionをキャッチしていないように見えるのです。 どなたか、何か思い当たる方いらっしゃいましたら回答お願い致します。 それとも他の箇所で同様のメッセージを生成していて、その箇所を見落としているのでしょうか? そもそもソースコードが、稼働中のモジュールに合致するのかも怪しく思えてきました・・・。
回答: そこが本当にコメントになってるなら、 1.見ているソースと搭載されているクラスの版が異なる 2.他にも表示している箇所がある のどちらかだなあ。