异常就是程序运行时出现的不正常情况。java按照面向对象的思想将这些问题进行了封装。
java.lang.throwable
throwable可以抛出error和exception
error通常是jvm抛出的,需要对程序进行修正;
exception可以针对性的进行处理。
这个体系中所有的类和对象都具有可抛性。即可以被throw和throws两个关键字所操作。
常见的异常:
1.脚标越界异常(IndexOutOfBoundsException)包括数组/字符串;
2.空指针异常(NullPointerException)
3。类型转换异常:ClassCastException
4.没有这个元素异常:NullPointerException
5.不支持操作异常
异常尽量要避免,若果避免不了,需要预先给出处理方式。
注意:
如果父类或者接口中没有抛出异常,子类中不能用throws Exception,可以用try catch捕获异常。
try catch finally中的finally很有用,主要是用户关闭资源。无论是否发生异常,资源都必须进行关闭。
什么时候用throws什么时候用try?
功能内部出现异常,如果内部可以处理,就用try
若功能内部处理不了,就必须声明出来让调用这处理。使用throws抛出,交个调用者。