「catch (Exception e)でErrorの捕捉が漏れる」の詳細記事: Javaってまだいけますか
いっぱいいっぱいで無理なので学んだ事をいちいちメモっていくブログです。
[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Navigation
catch (Exception e)でErrorの捕捉が漏れる
アプリケーションで、「ここが全ての例外をハンドリングする最後の関所だ!」みたいなところで
のようにしてExceptionで一括捕捉しようとすることがあるのですが、今さらながらこの場合Errorの捕捉が漏れてしまうことに気づきました。
例えば、以下のようなError。
・OutOfMemoryError
・StackOverflowError
通常、上記のErrorが発生したらもうアプリケーションではどうしようも無いですが、外部システムと連携しているシステムで困ったことがありました。
要は、
・自分とこのシステムはぜんぜん平気
・外部システムを呼び出したらOutOfMemoryErrorが帰ってきた
というようなケースでハンドリングすべき処理ができなかった、といったバグです。
こういった場合、
「外部システムを呼び出す処理においては、ExceptionとError、もしくは一括してThrowableでキャッチして、システム共通例外などに詰め込んで再スローする」
といった考慮が必要だと思いました。
あと、Throwable、Exception、Errorなどについてはこちらのブログ記事がとても参考になりました。
try {
} catch (Exception e) {
// 最終ハンドリング
}
のようにしてExceptionで一括捕捉しようとすることがあるのですが、今さらながらこの場合Errorの捕捉が漏れてしまうことに気づきました。
例えば、以下のようなError。
・OutOfMemoryError
・StackOverflowError
通常、上記のErrorが発生したらもうアプリケーションではどうしようも無いですが、外部システムと連携しているシステムで困ったことがありました。
要は、
・自分とこのシステムはぜんぜん平気
・外部システムを呼び出したらOutOfMemoryErrorが帰ってきた
というようなケースでハンドリングすべき処理ができなかった、といったバグです。
こういった場合、
「外部システムを呼び出す処理においては、ExceptionとError、もしくは一括してThrowableでキャッチして、システム共通例外などに詰め込んで再スローする」
といった考慮が必要だと思いました。
あと、Throwable、Exception、Errorなどについてはこちらのブログ記事がとても参考になりました。
PR
Navigation
「catch (Exception e)でErrorの捕捉が漏れる」にトラックバックする
「catch (Exception e)でErrorの捕捉が漏れる」へのトラックバック
「catch (Exception e)でErrorの捕捉が漏れる」へのコメント
「catch (Exception e)でErrorの捕捉が漏れる」にコメントする
Navigation
menu
ブログ内検索
カテゴリー
カウンター
忍者アド
リンク
最新CM
[07/17 セバ]
[12/27 NONAME]
最新記事
(10/15)
(10/01)
(08/12)
(08/12)
(08/11)
プロフィール
HN:
takacy.k
年齢:
45
性別:
男性
誕生日:
1979/08/13
趣味:
酒
自己紹介:
個人的なメモですので、投稿内容について真偽を保証するものではありません。また、当ブログの内容をご利用になったことによる(以下略)