什么是java异常
java异常就是在程序的运行过程中所发生的意外事件,它中断指令的正常执行。
使用大量if语句判断错误会让代码显得臃肿晦涩,可以使用异常处理。
如何捕获异常
语法:
try{
//可能出现异常的代码
}catch(要捕获的异常或其父类){
//处理代码
}
或
修饰符 返回值类型 方法名(参数列表) throws 异常{
//代码块
}
注意:
1.try catch语句就地解决异常,并让程序继续执行。
2.每个try可以伴随多个catch语句,但是当捕获到一个异常时,剩下的catch语句就不再匹配,所以安排顺序时,一般先安排子类,再安排父类。
3.finally语句可选,不管在try中是否发生异常,finally块中的代码都会被执行。
4.throws称为声明抛出异常,一般如果方法不处理,异常就会沿着调用层次向上传递,谁调用谁处理,直到异常被处理。
自定义异常类
1.在自定义异常类时,必须继承Exception类或Throwable类(建议继承Exception类,因为Throwable类还包括Error,该异常程序员无法处理),或者可以是其他已经存在的异常类的子类。
2.在该类中创建一个默认的无参构造,该构造方法以适当的错误消息作为输出,调用它父类的构造方法。
3.再重载一个带字符串参数的构造方法,该构造方法以适当的错误消息作为输出(还包括输入的字符串)来调用其父类相应的构造方法。
注意事项
1.一般可处理的异常有以下几种处理方法:
(1)用try-catch-finally进行捕获处理。
(2)明确表示不处理,从而声明抛出异常。
(3)先捕获处理然后再次抛出。
2.java的异常处理机制会给java程序代码结构上带来改变,所以不能滥用异常机制,简单的出错判断建议使用if语句。
3.不要过分细分异常。