Java中的错误与异常
在Java中,根据错误性质将运行错误分为两大类:错误和异常。
Java中的所有异常都是由Throwable类的子类生成的对象,所有的异常类都是Throwable类的子类或子类的子类。Throwable类是Object类的直接子类,Error类和Exception类是Throwable类的两个直接子类。
1.error:类包括一些严重的程序不能处理的系统错误类,如内存溢出、虚拟机错误、栈溢出等。这类错误一般与硬件有关,与程序本身无关,通常由系统进行处理,程序本身无法捕获和处理。常见的error有:NotClassDeFountError(类未定义错误),OutofMemoryError(内存溢出错误),StackOverFlowError(栈溢出错误)。
2.Exception:异常分为运行时异常和i编译异常。
a java编译器对检查性异常会要求我们进行catch,必须得进行捕获,否则编译不过去。java认为编译异常都可以被处理,所以必须显示的处理checked 异常。常见的检查性异常有IOException,SqlException。
b 运行时异常:程序员不需要去手动的catch。当程序中出现运行时异常时,java虚拟机会进行处理。常见的运行时异常有:空指针异常,数组下标越界异常等。
常见的异常
- java.lang.nullpointerexception 空指针异常
- java.lang.classnotfoundexception 类不存在异常
- java.lang.arithmeticexception 数学运算异常
- java.lang.arrayindexoutofboundsexception 数组下标越界
- java.lang.illegalargumentexception 方法的参数错误
- java.lang.illegalaccessexception 没有访问权限
- java.lang.NumberFormatException 数字格式异常
- java.lang.NoSuchMethodException 方法不存在异常
- FileNotFoundException 文件未找到异常