Exception和Error派生于Throwable;java
Error:描述了java运行时系统的内部错误和资源耗尽错误。大多数错误与代码编写者执行的操做无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。应用程序不该该抛出这种类型的对象。 程序员
Exception:包括RuntimeException和其余异常;数组
RuntimeException:由程序错误致使的异常;安全
例如:
IndexOutOfBoundsException(下标越界异常)
NullPointerException(空指针异常)指针
IllegalArgumentException(方法参数错误)orm
IllegalAccessException(无访问权限异常)对象
ClassNotFoundException(指定的类不存在)
NumberFormatException (String转换为指定的数字格式异常)
ArithmeticException -(算术运算异常 如除数为0)
ArrayStoreException - (向数组中存放与声明类型不兼容对象异常)
SecurityException -(安全异常)资源
NoSuchMethodError(方法不存在错误)编译器
其余异常:程序自己没有没有问题,但因为像I/O错误这类异常致使的异常;虚拟机
FileNotFoundException(文件未找到异常。)
IOException(操做输入流和输出流时可能出现的异常。)
EOFException (文件已结束异常)
SQLException
unchecked exception(非检查异常):包括运行时异常(RuntimeException)和派生于Error类的异常。对于运行时异常,java编译器不要求必须进行异常捕获处理或者抛出声明,由程序员自行决定。
checked exception(检查异常,编译异常,必需要处理的异常): 也称非运行时异常(运行时异常之外的异常就是非运行时异常),java编译器强制程序员必须进行捕获处理,好比常见的IOExeption和SQLException。对于非运行时异常若是不进行捕获或者抛出声明处理,编译都不会经过。