异常Exception
异常的概念
程序执行发生的不正常情况称为“异常”
异常事件分类: Error:虚拟机无法解决的严重错误 Exception:其他因编程错误或偶然的外在因素导致的一般性问题 运行时异常(生成字节码文件)or 编译时异常(在内存中加载、运行类)
常见的异常
运行异常RuntimeException NullPointerException 空指针异常 ArithmeticException 数学运算异常 ArrayIndexOutOfBoundsException 数组下标越界异常 ClassCastException 类型转换异常,当试图对对象强制类型转换为不是实例的子类时,抛出该异常 NumberFormatException 数字格式不正确异常
编译异常Exception SQLException 操作数据库,查询表异常 IOException 操作文件,发生的异常 FileException 操作一个不存在的文件,发生的异常 ClassNotFoundException 加载类,而该类不存在 EOFException 操作文件,到文件末尾发生异常 IllegalArgumentException 参数异常
异常处理
- try-catch(-finally)在代码中捕获异常,自行处理。快捷键:ctrl+alt+T
1 | try{ |
如果异常发生了,那么异常后面的代码不会执行,会进入catch块 如果异常没发生,会正常执行,不会进入catch 不论异常是否发生,都会执行finally 如果try中可能有多个异常,可以使用多个catch分别捕获不同的异常。要求子类的异常在前
- throws 抛出异常
不对异常进行处理,而由该方法的调用者处理。
自定义异常
步骤: 1.自定义异常类,继承Exception或者RuntimeException 2.继承RuntimeException,属于运行异常;继承Exception,属于编译异常
throw和throws的对比
throws接异常类型 throw接异常对象