一.什么是异常
异常就是程序可能出现的错误,就像小说中内气流错了经脉.异常不处理,程序就无法继续下去,练功就会走火入魔.hh
二.异常分类
Error:代表的系统级别错误(属于严重问题),也就是说系统一旦出现问题,sun公司会把这些问题封装成Error对象给出来,说白了,Error是给sun公司自己用的,不是给我们小菜鸡用的,因此我们不用管它
Exception:叫异常,它代表的才是我们程序可能出现的问题,所以,我们程序员通常会用Exception以及它的孩子来封装程序出现的问题。
异常又有两种:运行时异常,编译时异常
运行时异常:RuntimeException及其子类,编译阶段不会出现错误提醒,运行时出现的异常(如:数组索引越界异常)
编译时异常:编译阶段就会出现错误提醒的。(如:日期解析异常)
三.抛出异常--throws
用throws关键字,发生的是非运行时异常,需要在方法上明确使用throws关键字声明抛出
四.捕获异常--try catch
直接在当前方法,发生异常的代码外使用try--catch--结构捕获并处理异常 异常处理后,后续的代码是可以继续执行的.
五.异常处理方式的不同
1.throws:
在方法上使用throws关键字将方法内出现的异常抛出去给调用者
2.try catch
在方法中使用try…catch语法捕获程序出现的异常,自己写代码处理
六.自定义异常
Java无法为这个世界上全部的问题都提供异常类来代表, 如果以后我们自己写的代码中的某种问题, 想通过异常来表示,以便用异常来管理该问题,那就需要自己来定义异常类了
1.自定义异常的种类:
2.RuntimeException
定义一个类继承RuntimeException
自定义异常类抛出
3.Exception
定义一个类继承Exception
自定义异常类抛出
注意:Exception使用时,不但在throw后抛出,在方法名,主方法后都有抛出,更强烈
4.自定义异常--try catch 处理
定义一个接口