Java异常可以分为三类
1、Error及其子类:
错误,一般指的是虚拟机的错误,是由Java虚拟机生成并抛出,程序不能处理所以也不加处理,例如OutOfMemoryError内存溢出、调用栈溢出StackOverFlowError。
2、RuntimeException及其子类:
运行时异常(非受检型异常),是由于编程bug所导致,希望越早发现越好,所以不进行处理,直接终端报错即可,编程人员针对报错信息修改程序bug来解决问题。
常见的异常类型有:
ArithmeticException 算数异常,就是执行数学计算时产生的非正常情况,如除以0。
NullPointerException 空指针异常(试图访问null对象的引用)
IndexOutOfBoundsException 索引越界异常
ClassCastException 类型转换异常
NumberFormatException 数据格式异常,一般出现在数据类型转换中
3、Exception及其子类中除了RuntimeException及其子类之外的其它异常:
受检型异常(非运行时异常),这类异常属于明知道可能出现,但是没有办法杜绝的异常。这类异常一般采用try/catch或者throws声明抛出的方式进行异常处理,当程序出现了非正常情况,尽量保证程序正常结果,而不是立即中断。
原文链接:https://blog.csdn.net/dogeone/article/details/136469224