一、简介
Java异常可以分为Error和Exception两大类型,Error类型的异常无法使用程序处理,通常为jvm虚拟机本身问题,如系统崩溃、虚拟机错误、动态链接失败等,这些异常无法被捕获,一般的所谓的异常处理是指Excepiton类型异常处理。Exception可以分为运行时异常RuntimeException和非运行时异常(如IOException等),异常层次结构图,如下图1-1所示
图1-1
Java编译器要求Java程序必须捕获或声明所有的非运行时异常,对运行时异常可以不做处理,虽然编译对运行时异常不要求处理,但实际开发中为了程序的健壮性,还是需要处理的
常见的运行时异常RuntimeException主要有以下几种:
ArithmeticException:数学计算异常
NullPointerException:空指针异常
NegativeArraySizeException:负数组长度异常
ArrayOutOfBoundsException:数组索引越界异常
ClassNotFoundException:类文件未找到异常
ClassCastException:类强制转换异常
SecurityException:违背安全原则异常
常见非运行异常有:
NoSuchMethodException:方法未找到异常
IOException:输入输出异常
EOFException:文件已结束一场
FileNotFoundException:文件未找到异常
NumberFormatException:字符串转换为数字异常
SQLException:操作数据库异常