【面试干货】常见的编译时异常(运行时异常)及其处理
- 1、SQLException
 - 2、IOException
 - 3、FileNotFoundException
 - 4、ClassNotFoundException
 - 5、EOFException
 - 6、总结
 
|  
      
     💖The Begin💖点点关注,收藏不迷路💖 
       | 
在Java编程中,异常处理是确保程序健壮性和错误处理的重要部分。虽然编译时异常(通常指的是检查型异常,checked exceptions)需要在编译阶段进行捕获或声明抛出,但更常见的是运行时异常(unchecked exceptions),它们通常是由于程序运行时的错误条件导致的。
以下是一些常见的运行时异常及其描述:
1、SQLException
SQLException 是与数据库访问相关的异常。 当在尝试执行数据库操作时出现问题(如SQL语句语法错误、数据库连接问题、约束违反等),会抛出此异常。
try {  
    // 尝试执行数据库操作  
} catch (SQLException e) {  
    // 处理数据库访问错误  
    e.printStackTrace();  
}
 
2、IOException
IOException 表示 I/O(输入/输出)操作中发生的问题。这通常涉及文件读取、写入、网络通信等。
try {  
    // 尝试执行I/O操作  
} catch (IOException e) {  
    // 处理I/O错误  
    e.printStackTrace();  
}
 
3、FileNotFoundException
FileNotFoundException 是 IOException的一个子类,当试图打开指定路径的文件失败时抛出。
try {  
    // 尝试打开文件  
    File file = new File("nonexistentfile.txt");  
    FileInputStream fis = new FileInputStream(file);  
} catch (FileNotFoundException e) {  
    // 处理文件未找到的错误  
    e.printStackTrace();  
}
 
4、ClassNotFoundException
ClassNotFoundException 当 Java虚拟机试图加载类时,找不到具有指定名称的类的定义时抛出。 这通常发生在动态加载类(如使用Class.forName())时。
try {  
    // 尝试动态加载类  
    Class<?> cls = Class.forName("NonExistentClass");  
} catch (ClassNotFoundException e) {  
    // 处理类未找到的错误  
    e.printStackTrace();  
}
 
5、EOFException
EOFException 当 在输入过程中意外到达文件或流的末尾时抛出。 这通常发生在尝试从流中读取更多数据,但流已经关闭或已经到达末尾。
try (InputStream is = /* some input stream */) {  
    // 尝试从输入流中读取数据  
    while (true) {  
        // ...  
        // 假设在某次循环中,流意外结束  
    }  
} catch (EOFException e) {  
    // 处理意外到达文件或流末尾的情况  
    e.printStackTrace();  
} catch (IOException e) {  
    // 处理其他I/O错误  
    e.printStackTrace();  
}
 
注意: EOFException 在现代Java编程中并不常见,因为通常可以通过检查流的available()方法或捕获IOException来处理这种情况。
6、总结
在Java编程中,了解和适当处理异常是非常重要的。尽管这些运行时异常不需要在编译时显式捕获或声明抛出,但它们仍然可能导致程序崩溃或数据损坏。通过使用try-catch块和适当的错误处理策略,您可以确保您的程序在遭遇这些异常时能够优雅地处理它们。

|  
      
     💖The End💖点点关注,收藏不迷路💖 
       | 



















