异常
什么是异常:异常是程序中导致程序中断的一种指令流。
一个程序即使编译通过,其运行时也有可能出现各种各样的错误,从而导致程序中断,这些出现的错误在java中统一称为异常。
所有异常的最高继承者是Throwable 其包含两个子类:
Error:指的是JVM错误,这时程序并没有执行,无法处理。
Exception:指的是程序运行过程中产生的异常,用户可以使用异常处理格式处理。
Exception分类
1)运行时异常(RuntimeException及其子类)可以处理也可以不处理
2)编译时异常(非RuntimeException的Exception)必须处理
为什么要处理异常:如果程序出现异常,没有得到正确的处理,程序会出现中断执行的情况,为了让程序在出现异常后依然可以正常执行完毕,必须引入异常处理语句。
什么时候出现异常:编译时和运行时都有可能出现异常。
在什么地方出现异常:一般异常是在程序进行计算或对字符串进行操作时。
怎么处理异常:
关键字 try catch finally throws throw
异常格式组合:
1.try{}catch(异常类型 对象){}的使用
2. try{}catch(异常类型 对象){}......finally{}的使用
运行时异常处理:
try{ System.out.println("写入有可能出现异常的代码"); }catch(Exception e){ System.out.println("出现异常执行的"); }fianlly{ System.out.println("是否有异常都执行"); }
3. try{}finally{}
finally的作用:无论程序是否有异常都会执行的代码块,这里在以后的开发中常用来进行一些资源释放操作。
throws关键字主要在方法定义上使用,表示此方法中不进行异常处理,而是交给被调用处处理。
throws和throw的区别:
throw指的是在方法中人为抛出一个异常类对象(这个异常类对象可能是自己实例化后者抛出已存在的)
throws在方法声明上使用,表示此方法在调用时必须处理异常。