1. FileNotFoundException: 当试图打开一个不存在的文件时抛出此异常。
2. IOException: 这是许多 I/O 操作可能抛出的通用异常。它有许多子类,如 EOFException、FileAlreadyExistsException、InterruptedIOException 等。
3. EOFException: 在尝试读取数据时遇到文件或流的末尾时抛出。
4. FileAlreadyExistsException: 在创建文件时,如果文件已经存在,会抛出此异常。
5. InterruptedIOException: 当 I/O 操作被中断时抛出。
6. IOException: 通用的 I/O 异常,表示发生了某种 I/O 错误。
7. SecurityException: 在试图执行不允许的操作时,如试图打开受保护的文件或目录。
8. UnsupportedEncodingException: 在尝试使用不支持的字符编码时抛出。
9. UTFDataFormatException: 在尝试读取或写入使用错误格式编码的 UTF 数据时抛出。
这些异常都是 java.io.IOException 的子类,你可以根据实际情况选择捕获适当的异常进行处理。在处理异常时,可以使用 try-catch 块,例如:
import java.io.FileReader;
import java.io.IOException;
public class IOExceptionExample {
public static void main(String[] args) {
try {
// 尝试打开一个文件
FileReader fileReader = new FileReader("/data/nonexistent_file.txt");
// 这里可能会抛出 FileNotFoundException
// 进行其他的文件读取操作
// 关闭文件读取流
fileReader.close();
} catch (IOException e) {
// 捕获并处理IOException或其子类的异常
System.err.println("发生 I/O 异常:" + e.getMessage());
}
}
}
在上述例子中,FileReader 的构造函数有可能抛出 FileNotFoundException,而 FileNotFoundException 是 IOException 的子类,因此我们使用 catch(IOException e) 来捕获异常。在实际开发中,你可能需要根据不同的具体情况选择不同的异常进行处理。
转载请注明出处:http://www.zyzy.cn/article/detail/3064/鸿蒙OS