Java サンプル - 複数例外処理(複数catch)
例外の処理:
1. 例外を宣言するときは、より具体的な例外を宣言することをお勧めします。これにより、より具体的に処理できます。
2. 相手が宣言した例外の数だけcatchブロックを対応させます。複数のcatchブロック内の例外に継承関係がある場合は、親クラスの例外catchブロックを一番下に置きます。
以下のサンプルは、複数の例外を処理する方法を示しています。
ExceptionDemo.java ファイル
class Demo
{
int div(int a,int b) throws ArithmeticException,ArrayIndexOutOfBoundsException//機能上、throwsキーワードを使用して、その機能で問題が発生する可能性があることを宣言します。
{
int []arr = new int [a];
System.out.println(arr[4]);//発生させた最初の例外
return a/b;//発生させた2番目の例外
}
}
class ExceptionDemo
{
public static void main(String[]args) //throws Exception
{
Demo d = new Demo();
try
{
int x = d.div(4,0);//プログラム実行スクリーンショット内の3組のサンプルは、それぞれここの3行のコードに対応しています。
//int x = d.div(5,0);
//int x = d.div(4,1);
System.out.println("x="+x);
}
catch (ArithmeticException e)
{
System.out.println(e.toString());
}
catch (ArrayIndexOutOfBoundsException e)
{
System.out.println(e.toString());
}
catch (Exception e)//親クラスは、予期しないその他の例外を捕捉するためにここに記述します。子クラス例外のコードの後にのみ記述できます。
//ただし、一般的には記述しません。
{
System.out.println(e.toString());
}
System.out.println("Over");
}
}
上記コードの実行出力結果は次のとおりです。
java.lang.ArrayIndexOutOfBoundsException: 4 Overその他の拡張
Java サンプル