Java中的异常类
Java中的异常类包含在java.lang 和java.io包中,其共同的父类为java.lang.Throwable。
Throwable类的两个直接子类为Error和Exception。如下图:
一、Error
Error类描述了Java运行系统中的内部错误及资源耗尽的情形,比如内存不足、堆栈溢出等等。
二、Exception
Exception类包括运行时异常和非运行时异常。继承于RuntimeException的类都属于运行时异常,例如:ArithmeticException、NullPointerException等等。除了运行时异常之外的其他由Exception继承来的异常类都是非运行时异常,例如:FileNotFoundException、ClassNotFoundException等等
2.1运行时异常
运行时异常的特点是Java编译器不会检查它,也就是说,当程序中可能出现这类异常,即使没有用try-catch语句捕获它,也没有用throws子句声明抛出它,也会编译通过。
示例1:
package com.dxx.exception;
public class Test1 {
public static void main(String[] args) {
int num=10/0;//在编译时不会出错
System.out.println(num);
}
}
运行结果:
在编译时不会出错,可一运行就会出错,这个就叫运行时异常。
2.2非运行时异常
从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。如IOException、SQLException等以及用户自定义的Exception异常。
示例2:
package com.dxx.exception;
import java.io.IOException;
public class Test2 {
public static void main(String[] args) {
try {
ma();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void ma() throws IOException {
}
}
在编译时就不通过,需要及时处理的异常就叫非运行时异常。
今天就到这里,如果有问题,欢迎在下方留言评论!