Exception 机制
就是在程序执行过程中,出现的异常事件,导致程序的中断。
解决异常的方法:使用try,catch,finally,throw,throws五个关键字解决;
1.try...catch...√
2.try...catch...catch...√
3.try...catch...finally...√
4.try...finally...√
5.catch...finally...写法错误
finally块中的语句总会被执行,常常写的是资源释放的代码,有return也会被执行,除非遇到System.exit(1)--退出JVM时,才不会被执行;
try-catch-fianlly中有return,执行顺序是什么:try块中没有异常匹配到时,try-finally-return;有异常匹配到try-catch-finally-return,反正finally总是在return之前被执行的。
throws 和 throw 关键字,是在需要向外界抛出异常,才使用,一般都要结合使用;
两者的不用之处:
1.声明位置不同:throws是在声明方法时声明该方法可能出来的异常类型
throw是在方法内部抛出异常
2.两者后面的跟的不一样:throws后面跟的是异常类型,throw后面跟的是,new的异常对象;
3.作用不同:throws是对外声明该方法可能出现的异常类型;throw是把出现的异常向外抛,外界调用的时候还需要处理异常
Throwable是Error(错误)和Exception(异常)的父类:都在java.lang包下
Exception分为:
运行时异常:运行后才会出现的异常,不强制try..catch捕获,常见的有:NullPointException、ClassCastException、NumberFormatException、ArrayIndexOutOfBandException,InputMismatchException,算数异常
检查时异常:必须进行捕获,否则编译不通过。常见的有:SQLException,IOException,ClassNotFoundException等
自定义异常:JDK中的异常满足不了编码需求的时候。
步骤:
1.自定义一个异常类,继承Exception或者RuntimeException;
2.在该自定义异常类中,创建构造方法继承父类的构造方法super(String message)
3.在可能出现异常的地方,创建自定义异常对象
4.使用throw将异常抛出