-1

重複の可能性:
Throwable をキャッチするのは悪い習慣ですか?

スロー可能なものをキャッチするのはベストプラクティスですか? スロー可能をキャッチすると、メモリ不足などの例外がキャッチされますか?

4

1 に答える 1

0

例外をキャッチする唯一の方法Throwableは、例外をキャッチする方法と同じです。そのしくみは、階層ツリーによって例外/エラーをキャッチすることです。

したがって、OutOfMemoryエラーをキャッチしたい場合は、いくつかのオプションがあります。

try{
}catch(java.lang.OutOfMemoryError t){
}

try{
}catch(java.lang.Error t){
}

try{
}catch(java.lang.Throwable t){
}

キャッチしたい例外については、ドキュメントのクラス ツリーを確認してください。 http://docs.oracle.com/javase/6/docs/api/java/lang/OutOfMemoryError.html

また、catch ブロックは常にツリーの一番下にあるブロックから開始することをお勧めします。たとえば、次のようになります。

try{
//
}catch(java.lang.OutOfMemoryError t){
// handle out of memory error
}catch(java.lang.Throwable t){
// handle other throwable
}

また、Error と Exception は両方とも Throwable を拡張しますが、互いに拡張しないため、両方ともクラス ツリーの兄弟であることを思い出してください。

于 2012-06-17T03:04:08.523 に答える