您的位置:首页 > 编程语言 > Java开发

java:对输入数据进行多个异常处理

2017-11-01 21:10 197 查看
import java.util.Scanner;

public class ExceptionTest2 {

static void inputException() throws IllegalAccessException

//声明异常IllegalAccessException

{

int a[]=new int[3];

Scanner sc=new Scanner(System.in);

System.out.println(“请输入3个整型数据:”);

int i,sum=0,average;

for(i=0;i<3;i++)

{

a[i]=sc.nextInt();

sum=sum+a[i];

}

System.out.println(“请输入除数”);

average=sc.nextInt();
average=sum/average;

System.out.println("average="+average);
throw new IllegalAccessException();
}

public static void main(String[] args) {
// TODO 自动生成的方法存根
try{
inputException();
}
catch(ArrayIndexOutOfBoundsException e)
{
System.out.println("数组越界 "+e);
}
catch(ArithmeticException e)
{
System.out.println("除数不能为0"+e);
}
catch(IllegalAccessException e)
{
System.out.println("非法存取"+e);
}
finally
{
System.out.println("最后一定会被执行的语句");
}
}


}

运行结果:



分析:

通过try语句组中的监视方法 IllegalAccessException(),实现多个异常处理。如果方法中出现数组下标越界的异常,则该异常会被catch(ArrayIndexOutOfBoundsException e)捕获;如果出现除数为0的异常,则该异常会被catch(ArithmeticException e)捕获;抛出的异常 IllegalAccessException(),则被catch(IllegalAccessException e)捕获。

注意:

1)catch语句组中的处理程序应根据异常的不同而执行不同的异常处理操作。

2)由于try语句组中的异常是按照catch语句组的先后排序顺序来进行匹配,所以在处理多异常时要注意各个catch语句组之间的排列顺序。

3)不论try语句组是否存在异常,也不论catch语句组是否能捕获异常,finally语句组中的内容都将被执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: