基础向:关于异常(Exception)面试常会问到的问题

不管在生活中还是写代码,都会遇到各种突发情况和程序时的bug,这在项目上更是常常发生。而程序猿经常都是在写bug和改bug的路上,这里的bug虽和异常不同,但也有着异曲同工之处。

什么是异常?为什么会产生异常?这不仅是程序猿需要去处理的更是面试官爱问的问题之一。

那么现在面试官问了你这样几个问题:

1、常见的异常有哪些(至少说5个)

算术异常:ArithmeticExecption

空指针异常:NullPointerException

数组下标越界异常:ArrayIndexOutOfBoundsException

类型转换异常:ClassCastException

数组负下标异常:NegativeArrayException

字符串转换为数字异常:NumberFormatException、

输入类型不匹配:inputMisMatchException

2、Final 和 finally 有什么区别?

Final 修饰符, 变量,方法,类,最终的,最后一个版本

修饰变量的时候 , 常量,- 不能修改

修饰方法的时候,不能被重写

修饰类的时候,不能被继承

finally是异常中的一个代码块,表示的是这段代码一定会被执行

3、try-catch块中存在return语句,是否还执行finally块?如果执行,说出执行顺序

不管是否有异常,finally块中的代码都会被执行。当try-catch中有return时,finally仍然会执行。
在执行时,当return语句看到下面还有finally关键字时,会优先让finally中的代码先执行,然后执行return。

4、try-catch-finally块中,finally不执行的情况是什么?

除非在try的块中或者catch块中调用了退出虚拟机的方法,即使用代码:System.exit(1);,否则不管在try块、catch块中执行怎样的代码,出现怎样的情况,异常处理的finally块都是会被执行的。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值