![](https://img-blog.csdnimg.cn/21a8d1497caa44dc8a80e6be80eca842.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java异常面试题
Java异常面试题
复活的夜神月
这个作者很懒,什么都没留下…
展开
-
常见的异常类有哪些?
Checked Exception是指在代码中可能导致逻辑错误或问题需要进行处理的异常, 继承自 Exception 类,必须显式地进行处理以避免程序无法编译通过。Unchecked Exception是指由程序错误引起的运行时异常,不需要编写处理程序,仅需要防止代码写入可能导致异常的代码即可。常见的异常类主要分为两类:Checked Exception和 Unchecked Exception。6. RuntimeException:表示Java中所有运行时异常的父类。原创 2023-06-14 14:14:39 · 453 阅读 · 1 评论 -
final、finally、finalize 有什么区别?
3. finalize:是一个Object类中定义的方法,用于在JVM回收对象时调用,通常用于进行资源清理操作。2. finally:是一个关键字,用在try-catch代码块中,表示无论try-catch代码块中的代码是否抛出异常,finally代码块中的代码都会被执行,一般用于释放资源或者关闭数据库连接等清理工作。综上所述,final是修饰符,表示不可变的、最终的含义,finally是一个关键字,表示无论是否抛出异常都会执行的代码块,而finalize是一个方法,用于在对象被回收时调用的资源释放操作。原创 2023-06-14 14:00:46 · 443 阅读 · 0 评论 -
try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?
如果在 catch 块中使用 return 语句,则在执行 return 前会先执行 finally 块中的代码。2. 如果 try 中抛出了异常,Java 会根据异常的类型,在 catch 块中查找是否有该类型的异常处理器。如果找到了,则会执行该处理器中的代码,并跳过其他 catch 块和 finally 块的执行。总之,无论 catch 块中是否有 return 语句,finally 块中的代码都会执行。1. 如果 try 中没有抛出异常,则会跳过 catch 块直接执行 finally 块中的代码。原创 2023-06-14 14:10:26 · 874 阅读 · 0 评论 -
throw 和 throws 的区别?
在这种情况下,我们在方法声明中使用 "throws" 关键字来说明该方法可能会抛出一个 FileNotFoundException 异常。这意味着该方法内部会有一些逻辑可能会导致这种异常发生。"throws" 是一个方法声明中的关键字,用于声明该方法可能会抛出的异常。"throw" 是一个关键字,用于在程序运行时抛出异常。总之,"throw" 用于在代码中抛出异常,"throws" 用于声明方法可能会抛出的异常。"throw" 和 "throws"都与异常处理有关,但它们在用法上有些不同。原创 2023-06-14 13:48:43 · 78 阅读 · 0 评论 -
try-catch-finally 中哪个部分可以省
在try-catch中,finally块是可选的。可以有try-catch,或者try-finally,或者try-catch-finally。在某些情况下,可能并不需要在代码中使用finally块,因为不管有没有finally块,JVM在退出try/catch块时都会执行必要的清理。finally块通常用于在不管是否发生异常的情况下都需要执行的代码,比如资源的释放。总之,try块是必需的,catch块用于异常处理,finally块则是可选的,用于在代码块结束后执行一些必要的清理工作。原创 2023-06-14 14:07:53 · 60 阅读 · 0 评论