简单介绍一下异常体系结构与作用
java中有个异常类,Throwable,其中有2个分支,一个error:
这个错误一般是系统出错,比如内存溢出或者虚拟机异常,当error出现,程序直接结束。
一个Exception,其中细分下来有2个异常种类:
非检查异常(RuntimeExcption):
空指针异常(NullpointerException)
数组下标越界异常(ArrayIndexOutOfBoundsException)
类型转换异常(ClassCastexception)
算术异常(ArithmeticExceptior):逻辑错误
出现非检查型异常大多数情况下是代码有问题
检查型异常:
文件异常(IOException):文件不存在
SQL异常(SQLException):链接错误
异常处理语句一般使用:
try-catch以及-catch-finally
具体语法
try{
//调用容易出异常的方法
}
catch{
//处理该异常的代码块
}
当try抛出异常之后try中的方法会停止执行,然后交由catch处理。
实际代码示例:
try{
System.out.println("请输入你的年龄");
scanner input= new Scanner(System.in);
int age=input.nextInt;
System.out.println("十年后的你"+(age+10)+"岁");
}
catch(inputMismatchException e){
System.out.println("输入错误,请输入整数!");
}
catch执行块可以写多个:注意要按照 子》》父 顺序书写代码
try{
//调用容易出异常的方法
}
catch(Exception1 e){
//处理该异常的代码块
}
catch(Exception2 e){
//处理该异常的代码块
}
多catch块实际代码示例:
try{
System.out.println("请输入第一个数");
scanner i1= new Scanner(System.in);
int a1=i1.nextInt;
System.out.println("请输入第二个数");
scanner i2= new Scanner(System.in);
int a2=i2.nextInt;
System.out.println("两数相除");
}
catch (inputMismatchException e){
System.out.println("请输入整数");
}
catch (Arithmeticexception e){
System.out.println("除数不能为零");
}
catch (Exception e){
System.out.println("未知异常");
}
System.out.println("程序已结束");
try{
//调用容易出异常的方法
}
catch(Exception1 e){
//处理该异常的代码块
}
catch(Exception2 e){
//处理该异常的代码块
}
finally{
//最终执行代码
}