0%

异常

异常Exception

异常的概念

程序执行发生的不正常情况称为“异常”

异常事件分类: Error:虚拟机无法解决的严重错误 Exception:其他因编程错误或偶然的外在因素导致的一般性问题 运行时异常(生成字节码文件)or 编译时异常(在内存中加载、运行类)

常见的异常

运行异常RuntimeException NullPointerException 空指针异常 ArithmeticException 数学运算异常 ArrayIndexOutOfBoundsException 数组下标越界异常 ClassCastException 类型转换异常,当试图对对象强制类型转换为不是实例的子类时,抛出该异常 NumberFormatException 数字格式不正确异常

编译异常Exception SQLException 操作数据库,查询表异常 IOException 操作文件,发生的异常 FileException 操作一个不存在的文件,发生的异常 ClassNotFoundException 加载类,而该类不存在 EOFException 操作文件,到文件末尾发生异常 IllegalArgumentException 参数异常

异常处理

  1. try-catch(-finally)在代码中捕获异常,自行处理。快捷键:ctrl+alt+T
1
2
3
4
5
6
7
8
try{
可能存在异常的代码
}catch (Exception e){
当异常发生时,系统将异常封装成Exception对象,传递给catch
得到异常后,自行处理
}finally{
不管代码块是否有异常,始终执行
}

如果异常发生了,那么异常后面的代码不会执行,会进入catch块 如果异常没发生,会正常执行,不会进入catch 不论异常是否发生,都会执行finally 如果try中可能有多个异常,可以使用多个catch分别捕获不同的异常。要求子类的异常在前

  1. throws 抛出异常

不对异常进行处理,而由该方法的调用者处理。

自定义异常

步骤: 1.自定义异常类,继承Exception或者RuntimeException 2.继承RuntimeException,属于运行异常;继承Exception,属于编译异常

throw和throws的对比

throws接异常类型 throw接异常对象