java异常2

java7以后一个catch快可以捕获多种类型的异常

1.异常之间用|隔开   2.多个异常时有隐式的final修饰   不能对异常变量重现赋值

public class MultiExceptionTest
{
 public static void main(String[] args)
 {
  try
  {
   int a = Integer.parseInt(args[0]);
   int b = Integer.parseInt(args[1]);
   int c = a / b;
   System.out.println("您输入的两个数相除的结果是:" + c );
  }
  catch (IndexOutOfBoundsException|NumberFormatException
   |ArithmeticException ie)
  {
   System.out.println("程序发生了数组越界、数字格式异常、算术异常之一");
   // 捕捉多异常时,异常变量默认有final修饰,
   // 所以下面代码有错:
   ie = new ArithmeticException("test");  //①
  }
  catch (Exception e)
  {
   System.out.println("未知异常");
   // 捕捉一个类型的异常时,异常变量没有final修饰
   // 所以下面代码完全正确。
   e = new RuntimeException("test");    //②
  }
 }
}

 

访问异常信息  通过异常对象传入catch块的异常参数可以获得异常的信息

getMessage 返回异常的详细描述字符串 printStackTrace 异常的跟踪栈信息输入到标准错误输出 这个比较常用

等一些方法

 

你可能感兴趣的:(java异常2)