Java学习笔记-Java基础9(异常)

1.Java异常结构中定义有Throwable类,Exception和Error是其派生的两个子类,其中Exception表示由于网络故障、文件损坏、设备错误、用户输入非法等情况的异常;而Error表示Java运行时错误

2.当程序中抛出一个异常后,程序从此处跳出,Java虚拟机会检测寻找和try关键字匹配的处理该异常的catch块,将控制权交到catch块中的代码处理,然后继续执行程序,不会返回try块。多个catch块中父类异常在最后,不能写在前面

3.finally:异常处理的统一出口,无论try块是否抛出异常,finally中的代码都会被执行,所以可以在finally中进行资源的释放工作,例如关闭打开的文件、删除临时文件、释放连接、关闭流等。但是finally不能单独使用,后面也不能再写catch

4.当前方法出了异常,但不处理。可以throw异常,或程序满足语法但不符合业务逻辑也可以throw异常。通常的处理方法有:

    1)为throw添加try-catch

    2)在该方法上声明throws异常,以通知调用者需要处理异常,方法遵循这两点

5.常见RuntimeException:

    1)IllegalArgumentException:表明不合法或不正确的参数

    2)NullPointerException:在试图需要对象的地方使用null

    3)ArrayIndexOutOfBoundsException:使用的数组下标超过了允许范围

    4)ClassCastException:对象强制转换为不是实例的子类

    5)NumberFormatException:字符串装换为不合适的数值类型

6.当子类需要重写父类带有异常的方法时,处理方式是:

    1)不处理异常(重写时不写throws)

    2)可仅throws父类别中声明的部分异常

    3)可仅throws父类别中声明的异常的子类异常

不可的处理方式是:

    1)throws额外的异常

    2)throws父类别中声明的异常的父类异常

7.Exception方法:

    1)void printStackTrace():输出异常的堆栈信息

    2)Throwable getCause():获取该异常出现的原因


猜你喜欢

转载自blog.csdn.net/JustDI0209/article/details/80283425