02 Java程序员面试宝典视频课程之异常

一、Java 中,处理异常的两大步是?

捕获异常
声明异常

二、如果 catch 两个异常,一个是父类,一个是子类。这两个异常的 catch 顺序如何确定?

子类异常在前父类异常在后

三、finally· 里面一般放置什么代码?

无论是否发生异常,都必须要执行的语句放到 finally 中的语句

四、Error 和 Exception 的区别和联系?

联系:Error 与 Exception 都继承自 Throwable 类
区别:
Exception:
[1]可以是可被控制(checked)或不可控制的(unchecked)
[2]表示一个由程序员导致的错误
[3]应该在应用程序级被处理
Error:
[1]总是不可控制的(unchecked)
[2]经常用来用于表示系统错误或低层资源的错误
[3]如果可能的话,应该在系统级被捕捉

五、Throwable 是一个类还是接口?

Throwable 是一个类

六、方法重写时,子类声明异常能否超出父类的范围?

子类声明异常不能超出父类的范围
[1]父类没有声明异常,子类也不能
[2]不可抛出原有方法抛出异常类的父类或上层类

七、Java中的两种异常类型是什么?他们有什么区别?

Java中有两种异常:受检查的(checked)异常和不受检查的(unchecked)异常。
1、不受检查的异常
不需要在方法或者是构造函数上声明,就算方法或者是构造函数的执行可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者是构造函数的外面。
2、受检查的异常
必须要用throws语句在方法或者是构造函数上声明。

八、throw和throws有什么区别?

1、throw关键字用来在程序中明确的抛出异常
2、throws语句用来表明方法不能处理的异常
3、每一个方法都必须要指定哪些异常不能处理,所以方法的调用者才能够确保处理可能发生的异常,多个异常是用逗号分隔的

九、异常处理完成以后,Exception对象会发生什么变化?

Exception对象会在下一个垃圾回收过程中被回收掉。

十、finally代码块和finalize()方法有什么区别?

1、无论是否抛出异常,finally代码块都会执行,它主要是用来释放应用占用的资源
2、finalize()方法是Object类的一个protected方法,它是在对象被垃圾回收之前由Java虚拟机来调用的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值