一、Java程序中错误的分类
1、编译错误:
编译器能够检测到的错误,一般是语法错误。此时不能将源代码(.java)编译成可执行的字节码文件(.class)。
2、运行错误:
程序运行时产生的错误,例如被0除、数组下标越界等等。
3、逻辑错误:
这是机器本身无法检测的,需要程序员对运行结果及程序逻辑进行分析才能发现,逻辑错误可能会导致运行结果错误,有时也可能会导致运行错误。
二、Throwable类
1、Error类(错误):
Error类则包括了一些较少发生的内部系统错误。这些错误都是严重的错误,用户程序无法进行处理,只能通知使用者关闭程序。例如内存不足、虚拟机内部错误等等。
2、Exception类(异常):
Exception类是所有异常类的父类,包括了一些由程序本身及环境所产生的错误。应用Java的异常处理机制,异常(Exception)可以被捕获并进行相应的处理。例如数组下标越界、被0除等等。
三、异常处理机制的概念
1、Java 对异常进行了分类,不同类型的异常分别用不同的 Java 类表示,所有异常的根类为 java.lang.Throwable
2、Throwable下面又派生了两个子类:Error和Exception,Error表示应用程序本身无法克服和恢复的一种严重问题。Exception 表示程序还能够克服和恢复的问题,其中又分为非检查(运行)异常和检查异常,非检查异常可以避免、不强制必须处理,在运行的时候才会出现异常,只有RuntimeException类或者其子类以及子类的子类是运行异常,其他异常类都是检查异常。非检查异常例如,数组下标越界(ArrayIndexOutOfBoundsException),空指针异常
(NullPointerException)、类转换异常(ClassCastException);检查异常是运行环境的变化或异常所导致的问题,
不可避免 在编译期必须进行异常处理,否则无法通过编译。
3、java中异常必须try…catch处理或用throws声明继续抛给上层调用方法处理。
四、异常的分类
1、检查异常:
(1)不可避免 在编译期必须进行异常处理,否则无法通过编译。
(2)常见检查异常:
名字 | 含义 |
---|---|
ClassNotFoundExcep |