(一)Java在执行过程中所发生的异常可以分为两大类
1、Error(错误):Java虚拟机无法解决的严重问题。 如:JVM系统内部错误、资源耗尽等严重情况。比如:StackOverflowError[栈溢出]和OOM(out ofmemory).Error 是严重错误,程序会崩溃。
2、 Exception:其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。例如空指针访问,试图读取不存在的文件,网络连接中断等等,Exception分为两大类:运行时异常[程序运行时,发生的异常]和编译时异常[编程时,编译器检查出的异常]。
常见的运行时异常
1、NullPointerExcption 空指针异常
2、ArithmeticExcption 数字运算异常
3、ArrayIndexOutOfBoundsExcption 数组下标越界异常
4、ClassCastExcption 类型转换异常
5、NumberFormatExcption 数字格式不正确异常
常见的编译异常
1、SQLExcption 操作数据库发生的异常
2、IOExcption 操作文件发生的异常
3、FileNotFoundExcption 操作不存在文件时发生的异常
4、ClassNotFoundExcption 加载不存在的类时发生的异常
5、EOFExcption 操作到文件末尾时发生的异常
6、IllegalArguementExcption 参数异常
(二) 自定义异常
程序员自己定义的异常,继承Excption属于编译异常,继承RuntimeExcption属于运行异常,一般自定义的都是运行异常
(三)处理异常的方式
1、try-catch-finally
抓住异常,程序员自己处理
2、throws
将出现的异常抛出,交给调用者处理,其中最顶级的调用者是JVM