Java 异常类
在 Java 编程中,异常类是一种用来处理错误和异常情况的特殊类。Java 语言提供了一组异常类,程序员可以使用这些类来编写高效、可读性强、容错性好的程序。
错误和异常
通常情况下,我们用错误表示异常中最严重的情况,而用异常表示较为轻微的情况。当程序执行中发生错误或异常时,会抛出一个异常对象,可以通过 try-catch 块捕获异常并处理。
错误
在 Java 中,错误表示一个非常严重的问题,通常由虚拟机来处理。错误是指程序运行时出现的无法恢复的问题,在这种情况下,通常会终止程序的执行。
举个例子,Java 中的 OutOfMemoryError 表示程序无法分配足够的内存空间,此时程序就无法继续执行下去了。
异常
在 Java 中,异常表示一个较为轻微的问题,例如文件无法打开或者网络连接失败等问题。异常是指程序在运行时可能会遇到的问题,在这种情况下,程序可以采取适当的措施来避免后果或者恢复程序的执行。
举个例子,Java 中的 IOException 表示在进行文件输入/输出操作时出现了问题,这时可以通过异常处理机制对异常进行捕获并采取针对性的处理措施。
异常的类型
Java 中的异常分为三类:
-
受检查异常:受检查异常是指需要进行捕获或者声明抛出的异常,这些异常在程序编译时就已经被检查出来了。其中最常见的包括 IOException 和 SQLException。
-
运行时异常:运行时异常是指不需要显式进行捕获或者声明抛出的异常,这些异常通常是由于程序中出现了错误或者不合法的操作所导致的。其中最常见的包括 NullPointerException 和 IllegalArgumentException。
-
错误:错误是指程序无法恢复的严重问题,通常由虚拟机来处理。一般情况下,我们不需要关心这种异常。
示例1:受检查异常
下面的代码演示了如何使用 try-catch 块来捕获一个受检查异常:
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new FileReader("file.txt"));
String line = br.readLine();
while (line != null) {
System.out.println(line);
line = br.readLine();
}
br.close();
} catch (IOException e) {
System.out.println("文件读取失败");
}
}
}
在该代码中,我们尝试读入一个文件并输出文件中的内容。因为文件读取操作有可能会出现异常,所以我们用 try-catch 块来捕获 IOException 异常。
示例2:运行时异常
下面的代码演示了一个运行时异常的例子:
public class Main {
public static void main(String[] args) {
int a = 10;
int b = 0;
int c = a / b;
System.out.println(c);
}
}
在该代码中,我们试图计算一个除数为0的表达式。由于除法操作违反了 Java 的某些规则,程序会抛出 ArithmeticException 异常。由于 ArithmeticException 是运行时异常,所以我们不需要显式地对它进行处理。程序会中断并输出异常信息。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java_异常类(错误和异常,两者的区别介绍) - Python技术站