Java面试题-异常

Java面试总纲(持续更新!)

https://libusi.blog.csdn.net/article/details/104268324

目录

#、描述一下Java异常层次结构

#、什么是检查异常,不受检查异常,运行时异常?并分别举例说明。

#、Finally块一定会执行吗?

#、error和eception的区别?

#、Java中的两种异常类型是什么?

#、给我一个你最常见到的runtime exception、场景及解决方案

#、throw 和throws关键字的区别:


#、描述一下Java异常层次结构

#、什么是检查异常,不受检查异常,运行时异常?并分别举例说明。

#、Finally块一定会执行吗?

正常情况下,当在try块或catch块中遇到return语句时,finally语句在方法返回之前还是之后被执行?

Try、catch、finally语句块的执行顺序。

#、error和eception的区别?

--------java.lang.Throwable:

Throwable:可抛出的。

|--Error:称为错误,由java虚拟机生成并抛出,包括动态链接失败,虚拟机错误等,程序对其不做处理。

|--Exception:

所有异常类的父类,其子类对应了各种各样的可能出现的异常事件,一般需要用户显示的声明或捕获。

Java中Exception和Error都是Throwable的子类,

Exception用于用户程序可以捕获的异常,

而Error则定义了不期望被用户程序捕获的异常。‘

异常处理完成后, Exception会在下一个垃圾回收过程中被回收掉。

#、Java中的两种异常类型是什么?

异常分两种大的异常类型,运行异常和受检查异常,这两种异常的区别:

1、运行时异常((RuntimeException, 又叫非检查异常 )

    运行异常的特点是 Java编译器不去检查它,也就是说,当程序中可能出现这类异常时,即使没有用try...catch语句捕获它,也没有用throws字句声明抛出它,还是会编译通过。

2、受检查异常

    除了运行异常外,其他异常都属于受检查异常,这种异常的特点是要么用 try...catch捕获处理,要么用throws语句声明抛出,否则编译不会通过。

两者的区别

        非检查异常表示无法让程序恢复运行的异常,导致这种异常的原因通常是由于执行了错误的操作。一旦出现错误,建议让程序终止。

    受检查异常表示程序可以处理的异常。如果抛出异常的方法本身不处理或者不能处理它,那么方法的调用者就必须去处理该异常,否则调用会出错,连编译也无法通过。

***********************************************************

#、给我一个你最常见到的runtime exception、场景及解决方案

NullPointerException,

NoSuchElementException,

EmptyStackException ,

ClassCastException,

IllegalArgumentException,IllegalStateException,

IndexOutOfBoundsException,

SystemException, 

ProviderException,

ProfileDataException,

MissingResourceException,

NegativeArraySizeException,

BufferOverflowException, BufferUnderflowException, 

ArithmeticException, ArrayStoreException, CannotRedoException, CannotUndoException, CMMException, ConcurrentModificationException, DOMException,IllegalMonitorStateException, IllegalPathStateException, ImagingOpException,     RasterFormatException, SecurityException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

#、throw 和throws关键字的区别:

throw用于抛出异常对象,后面跟的是异常对象;throw用在函数内。

throws用于抛出异常类,后面跟的异常类名,可以跟多个,用逗号隔开。throws用在函数上。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java异常有关的面试题包括但不限于以下几个方面: 1. Error 和 Exception 的区别是什么? 2. 运行时异常和一般异常(受检异常)的区别是什么? 3. JVM 是如何处理异常的? 4. throw 和 throws 的区别是什么? 5. final、finally、finalize 有什么区别? 6. NoClassDefFoundError 和 ClassNotFoundException 的区别? 7. try-catch-finally 中哪个部分可以省略? 8. try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗? 9. 继承关系中的异常处理,例如类 ExampleA 继承 Exception,类 ExampleB 继承 ExampleA,如何处理异常? 10. 常见的 RuntimeException 有哪些? 11. Java常见的异常有哪些? 这些面试题涵盖了Java异常的基本概念、异常处理机制以及异常处理的最佳实践等方面。在面试中,掌握这些问题的答案可以展示你对Java异常的理解和经验。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [java异常常见面试题(全)](https://blog.csdn.net/weixin_47872288/article/details/122693228)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Java面试题Java基础面试题Java异常面试题Java面试宝典](https://download.csdn.net/download/shiyunzhe2021/87458097)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [【2022最新Java面试宝典】—— Java异常面试题(33道含答案)](https://blog.csdn.net/qq_30999361/article/details/124560006)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕白Lee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值