JAVA面试题合集三(异常处理)

1.Throwable
是java中所有错误和异常的超类,包含2个子类,Error错误,Exception异常,他们通常用于指示发生异常情况
Throwable 包含了其线程创建时线程执行堆栈的快照,它提供了 printStackTrace() 等接口用于获取堆栈跟踪数据等信息
2.Error错误
虚拟机运行错误,系统崩溃.,.内存不足,栈溢出错误.此类问题,JVM将终止线程
3.Exception 异常
运行时异常定义:RuntimeException–>NullPointerException,ArrayIndexOutBoundException,ClassCastException,ArithmeticExecption
编译时异常 ClassNotFoundException,IOException,
4.• throw – 用于抛出异常。
• throws – 用在方法签名中,用于声明该方法可能抛出的异常。
5.JAVA异常处理
在这里插入图片描述
6.常见异常处理方式?
直接抛出异常 throws
封装异常再抛出
捕获异常
自定义异常
try catch finally
7.Error和Exception的区别?
8.运行时异常和受检查时异常有什么区别?
JAVA编译器不会检查运行时的异常.///JAVA编译器会检查受检查异常,要求必须处理
9.JVM如何处理异常的?
在一个方法中如果发生异常,这个方法会创建一个异常对象,并转交给 JVM,该异常对象包含异常名称,异常描述以及异常发生时应用程序的状态。创建异常对象并转交给 JVM 的过程称为抛出异常。可能有一系列的方法调用,最终才进入抛出异常的方法,这一系列方法调用的有序列表叫做调用栈。
JVM 会顺着调用栈去查找看是否有可以处理异常的代码,如果有,则调用异常处理代码。当 JVM 发现可以处理异常的代码时,会把发生的异常传递给它。如果 JVM 没有找到可以处理该异常的代码块,JVM 就会将该异常转交给默认的异常处理器(默认处理器为 JVM 的一部分),默认异常处理器打印出异常信息并终止应用程序。
10.throw和throws的区别?
在这里插入图片描述

11.final.finally.,finalize有什么区别?
java中允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清除工作.
12.NoClassDefFoundError 和 ClassNotFoundException 区别?
在这里插入图片描述
在这里插入图片描述
13.try-catch-finally 中哪个部分可以省略?
catch省略,finally扫尾处理
14. try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?

在这里插入图片描述
15.常见的 RuntimeException 有哪些?
16.Java常见异常有哪些?
在这里插入图片描述
在这里插入图片描述
17.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值