Java Exception 捕获和显示实例详解
什么是异常(Exception)?
在编写 Java 程序时,异常是不可避免的。异常是程序在运行时发生的错误或问题。 在 Java 中,异常被视为对象,这是由类派生的异常类的实例。 如果在运行程序时发生异常,程序会被终止。
Java 异常的类层次结构
在 Java 中,异常的类层次结构如下所示:
java.lang.Throwable(可以被抛出的基本类型)
java.lang.Exception(应该被捕捉的异常)
java.io.IOException(输入输出异常)
java.sql.SQLException(数据库异常)
java.lang.RuntimeException(不需要显式捕捉的异常)
java.lang.ArithmeticException(算术异常)
java.lang.NullPointerException(空指针异常)
java.lang.ClassNotFoundException(找不到类异常)
在上面的层次结构中,Throwable 是异常类层次结构的基本类型。 Exception 和 RuntimeException 子类是应该被捕捉的异常。
Java 异常处理try-catch语句
在 Java 中,可以使用 try-catch 语句捕获和处理异常。下面是使用 try-catch 语句的一般格式:
try {
//Some code here
} catch (ExceptionType1 e1) {
//Code that executes when exception of type ExceptionType1 is thrown
} catch (ExceptionType2 e2) {
//Code that executes when exception of type ExceptionType2 is thrown
} finally {
//Code that executes after try block, regardless of whether an exception was thrown or not
}
在上面的语句中,try 包含可能会引发异常的代码。 异常处理的代码块马上跟随在try块后面。每个catch块处理特定类型的异常。finally 块总是会被执行,无论是否发生异常。
Java 异常捕获和显示的示例说明
以下是两个示例说明 Exception 的捕获和显示。
示例1
public class ExceptionTest {
public static void main(String[] args) {
try {
int[] arr = new int[5];
arr[10] = 10 / 0; // Exception occurs here
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("An ArrayIndexOutOfBoundsException occurred");
} catch (ArithmeticException e) {
System.out.println("An ArithmeticException occurred");
} catch (Exception e) {
System.out.println("An Exception occurred");
}
}
}
在上面的代码中,我们有一个大小为5的数组,尝试访问超出其范围的元素,然后试图将10除以0,两个操作都会引发异常。在 try 语句块中,出现异常将会抛出并在catch块中被捕获,并相应地输出错误信息到控制台。
示例2
public class ExceptionTest {
public static void main(String[] args) {
try {
int[] arr = new int[5];
arr[10] = 10 / 0; // Exception occurs here
} catch (Throwable e) {
System.out.println("An Exception occurred");
System.out.println("Message: " + e.getMessage());
System.out.println("Stack Trace: ");
e.printStackTrace();
}
}
}
在上面的代码中,我们有一个大小为5的数组,尝试访问超出其范围的元素,然后试图将10除以0,两个操作都会引发异常。在 try 语句块中,出现异常将会抛出并在 catch 块中被捕获,并在控制台上打印出错误信息和堆栈跟踪信息,以方便我们更好地了解异常。
总结
在这篇文章中,我们介绍了 Java 异常的基础知识,包括异常类的层次结构、Java 异常处理的 try-catch 语句以及两个捕获和显示异常的示例说明。在编写 Java 代码时,遵循异常处理的最佳实践,能够让程序更加健壮和稳定。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java Exception 捕获和显示实例详解 - Python技术站