关于Java异常的十大问题

85 篇文章 0 订阅
82 篇文章 0 订阅

 

伙伴们注意了!

小编在这里给大家送上关注福利:

关注“速学Java”公众号即可领取小编精心准备的资料一份!

本文总结了关于Java异常的10个常见问题。

1.检查与未检查

简而言之,检查过的异常必须显式地在方法中捕获或在方法的throw子句中声明。
未检查异常是由无法解决的问题引起的,如除以0、空指针等。
检查异常尤其重要,因为您希望使用您的API的其他开发人员知道如何处理异常。

例如,IOException是一个常用的检查异常,RuntimeException是一个未检查异常。
在阅读其余内容之前,您可以查看Java异常层次结构图。

2. 异常管理的最佳实践

如果一个异常可以被正确处理,那么它应该被捕获,否则,它应该被抛出。

3.为什么try中定义的变量不能用于catch或finally中?

在下面的代码中,try块中声明的字符串s不能在catch子句中使用。

代码没有通过编译。

原因是您不知道在try块的什么地方会抛出异常。
异常很可能是在声明对象之前抛出的。
这个例子是正确的。

4. 为什么Double.parseDouble(null)和Integer.parseInt(null)抛出不同的异常?

它们会抛出不同的异常。

这是JDK的问题。

它们是由不同的开发人员开发的,所以不值得过多思考。

5. Java中常用的运行时异常

这里只是其中的一些。
IllegalArgumentException
ArrayIndexOutOfBoundsException

当条件不满足时,可在if语句中使用:

 

6. 我们能在同一个catch子句中捕获多个异常吗?

答案是肯定的。
只要这些异常类可以追溯到类继承层次结构中的同一个超类,您就只能使用这个超类。

7. 构造函数能抛出java中的异常吗?

答案是肯定的。
构造函数是一种特殊的方法。
下面是一个代码示例。

 8. 在final子句中抛出异常

这样做是合法的:

但是为了具有更好的代码可读性,您应该将嵌入的try-catch块包装为一个新方法,然后将方法调用放在finally子句中。

 

9. 最后块中还能用吗

是的,它可以。

10. 为什么开发人员默默地使用异常?

像下面这样的代码段出现的次数太多了。
如果正确地处理异常是如此重要,那么开发人员为什么要一直这样做呢?

忽视很容易。
频繁出现并不意味着正确。 

最后,想学习Java的小伙伴们!

关注速学java公众号就可以拿到一份我为大家准备的Java学习资料!

对Java感兴趣的小伙伴也可以加 小编V❤: suxuejava

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值