Error类和Exception类的父类都是throwable类,他们的区别是:数组
Error类通常是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。对于这类错误的致使的应用程序中断,仅靠程序自己没法恢复和和预防,遇到这样的错误,建议让程序终止。 Exception类表示程序能够处理的异常,能够捕获且可能恢复。遇到这类异常,应该尽量处理异常,使程序恢复运行,而不该该随意终止异常。指针
Exception类又分为运行时异常和受检查的异常,运行时异常编译能经过,可是一运行就终止了,程序不会处理运行时异常,出现这类异常,程序会终止。而受检查的异常,要么用try。。。catch捕获,要么用throws字句声明抛出,交给它的父类处理,不然编译不会经过。内存
常见的异常;虚拟机
ArrayIndexOutOfBoundsException 数组下标越界异常,it
ArithmaticException 算数异常 如除数为零io
NullPointerException 空指针异常编译
IllegalArgumentException 不合法参数异常程序