0

以下のコードはどのような種類の例外も処理しますか?

try
{
    // some code
}
catch(Exception e)
{
    // some code part
}

または、次のようにする必要があります。

try
{
    // some code 
}
catch(type of Exception e)
{
    // some coding stuff
}
4

5 に答える 5

0
try { 
   //some code 
} catch(Exception e) { 
   //some code part 
}

すべてのタイプの例外の親クラスであるため、すべてのタイプの例外を処理しますが、AWTErrorまたはVirtualMachine Error->のようなエラーを取得しているOutOfMemoryError場合はStackOverFlowError、それを処理しません。

すべてのタイプの例外とエラーを処理するには、次のようにします。

try {
    // some code 
}
catch(Throwable throwable) {
   // some coding stuff
}

例 2:

try {
    // some code 
}
catch(type of Exception e) {
   // some coding stuff
}

これは、すべてのタイプの例外を処理するわけではありません。ここに書くNullPointerExceptionと のみ扱いNullPointerExceptionます。

覚えておいてください: 最初にサブクラスを配置し、次に親クラスを配置するような方法でキャッチを定義してください。そうしないと、コードが到達不能になり、コンパイル時エラーが発生します。

try {
    // some code 
}
catch(NullPointerException e) {
   // some coding stuff
}
catch(Exception e) {
  // some coding stuff
}
于 2013-04-13T06:23:41.657 に答える
0

catch (Exception e)それは、すべての例外の親クラスであるため 、catch ステートメントの例外のタイプに依存し ます。catch (FileNotFoundException e)FileNotFoundExceptions のみをキャッチします。

これにより、複数の catch ステートメントを使用できます。

try {
...            
}
catch (FileNotFoundException e) {
        //do something with FileNotFoundException
} 
catch (IOException e) {
        //do something with IOException
}
于 2013-04-13T06:24:19.547 に答える
0
try { some code } catch(Exception e) { some code part }

Exceptionタイプまたはそのサブクラスの例外をキャッチします。例外をキャッチしたい場合は、使用します

try { some code } catch(Throwable e) { some code part }

次に、Errors(クラスが見つからないなど)も取得します。

于 2013-04-13T06:24:31.300 に答える