多重catch处理异常例子:
try{
System.out.print("请输入第一个整数:");
int one = input.nextInt();
System.out.print("请输入第二个整数:");
int two = input.nextInt();
System.out.println("one和two的商为:"+ (one/two));
}catch(ArithmeticException e){
System.out.println("除数不能为0!");
e.printStackTrace();
}catch(InputMismatchException e){
System.out.println("请输入整数!");
e.printStackTrace();
}catch(Exception e){
System.out.println("程序出现错误!");
e.printStackTrace(); //打印出错的详情信息,在终端打印的位置随机
}finally{
System.out.println("=====运算结束=====");
}
1.try中出现异常以后,将异常类型跟后面的类型依次比较,按照代码的 顺序进行对比,执行第一个与异常类型匹配的catch语句
2.一旦执行其中一条catch语句后,后面的catch语句就会被忽略了
3.在安排catch语句的顺序时,一把会将特殊异常放在前面(并列),一般化异常放在后面,先写子类异常,后写父类异常
4.在JDK1.7以后,异常新处理方式:可以并列,用“|”(或)符号连接
异常分为运行时异常和检查时异常
运行时异常:写时没有问题,结果运行时异常
检查时异常:防患与未然的效果,在写代码时候就要对代码的异常进行处理