OutOfMemory例外をtry-catchする方法 | Java

※当サイトはアフィリエイト広告を利用しています。

JavaにおいてOutOfMemory例外をtry-catchする方法を紹介します。
スポンサーリンク


通常のException例外のtry-catchでは検出できない

まず、OutOfMemory例外は通常のException例外のtry-catchでは検出することはできません。

以下はサンプルコードです。
try {
    throw new OutOfMemoryError();
} catch (Exception e) {
    //例外処理
}

このコードを実行すると、try-catchをすり抜けてエラーとなります。

OutOfMemoryをtry-catchする

上記のコードでOutOfMemory例外をtry-catchできなかった理由はOutOfMemory例外はException例外の継承クラスではないからです。

catchするにはOutOfMemory例外を直接catchしてやればOKです。

以下、サンプルコードです。
try {
    throw new OutOfMemoryError();
} catch (Exception e) {
    //例外処理
} catch (OutOfMemoryError e) {
    //例外処理
}

このコードならばOutOfMemoryをtry-catchできます。

Androidアプリ開発においてOutOfMemory自体を抑制する方法

もしAndroidアプリ開発のOutOfMemoryに関連してこの記事を見ている場合は、OutOfMemory例外自体を抑制する方法を以下にまとめていますので、よろしければそちらもご覧ください。

まとめ

JavaにおいてOutOfMemory例外をtry-catchする方法を紹介しました。