📅  最后修改于: 2023-12-03 15:16:01.928000             🧑  作者: Mango
在 Java 中,异常指的是程序运行时的错误或异常情况。Java 可以通过抛出异常来通知程序用户或开发人员某个特定的错误已经发生,并且需要进行处理。
Java 中异常分为两类:checked 异常和 unchecked 异常。checked 异常在代码编译时就可能出现异常,并且必须要在代码中处理。而 unchecked 异常则是在代码运行时才会出现异常,可以不在代码中进行处理。
try-catch
捕获异常try-catch
是 Java 中处理异常的主要方式,可以将可能出现异常的代码放在 try
块中,然后在 catch
块中处理异常。
以下是一个简单的示例代码:
try {
FileInputStream file = new FileInputStream("test.txt");
} catch (FileNotFoundException e) {
System.out.println("File not found.");
}
这个示例中,如果 test.txt
文件不存在,执行 new FileInputStream("test.txt")
就会抛出 FileNotFoundException
异常。然后程序会跳转到 catch
块,执行 System.out.println("File not found.")
语句。
throws
关键字抛出异常当一个方法可能会抛出异常时,可以使用 throws
关键字在方法声明中指定可能抛出的异常。
以下是一个示例代码:
public void readFile(String fileName) throws FileNotFoundException {
FileInputStream file = new FileInputStream(fileName);
}
这个示例中,如果读取文件失败,则会抛出 FileNotFoundException
异常。由于方法声明中使用了 throws FileNotFoundException
,因此调用这个方法的代码必须要进行异常处理。
Java 中,可以自定义异常类来扩展现有异常类或创建新的异常类。自定义异常类需要继承 Throwable
类或其子类。
以下是一个自定义异常类的示例代码:
public class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
这个示例中,MyException
继承了 Exception
类,并且提供了构造方法。在构造方法中,通过调用 super(message)
方法初始化异常信息。
Java 中使用 try-catch
和 throws
可以进行异常处理,还可以自定义异常类来扩展现有的异常类或创建新的异常类。在编写 Java 代码时,务必要注意异常处理,使程序更加健壮和稳定。