前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谈谈你对Exception 和 Error的理解

谈谈你对Exception 和 Error的理解

作者头像
用户7447819
发布2021-07-23 14:28:55
4590
发布2021-07-23 14:28:55
举报
文章被收录于专栏:面试指北面试指北

谈谈你对Exception 和 Error的理解

1. 审题

此题面试官主要想考察你对Java异常处理机制的理解,答题的思路可以从以下几个方面切入

  • Exception 和 Error的共性。
  • Exception 和 Error的差异。
  • 针对 Exception 详细谈谈。
  • 针对 Error 详细谈谈。

2. 面试现场

2.1. Exception 和 Error 的共性

Exception 和 Error 都继承了Throwable类。Throwable类的实例才能被程序处理(throw catch)。

2.2 Exception 和 Error 的差异

Exception 从字面意思讲,指的是程序运行过程中,能被处理的情况,是在预期范围内的。

Error指的是程序运行过程中,不太可能出现的情况,而且很有可能导致程序挂掉。

2.3 详细谈谈Exception

Exception 又分为cheked exception 和 unchecked exception。

checked exception 指的是在源代码里必须处理的异常。例如:

  • IOException

unchecked exception 指的是不用在源代码里处理,为运行时异常。例如:

  • NullPointerException
  • ClassCastException

2.4 详细谈谈Error

绝大数的Error会导致程序处于非正常状态。例如:

  • NoClassDefFoundError
  • OutOfMemoryError
  • StackOverflowError

2.5 异常使用的建议

  • 不要用try catch 包裹住一大段代码,这样会产生额外的开销。例如异常来控制代码流程,比if else switch 等低效的多。
  • Java 每实例化一个Exception就会对栈进行快照,这样会带来一定的性能开销。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 面试指北 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 谈谈你对Exception 和 Error的理解
    • 1. 审题
      • 2. 面试现场
        • 2.1. Exception 和 Error 的共性
        • 2.2 Exception 和 Error 的差异
        • 2.3 详细谈谈Exception
        • 2.4 详细谈谈Error
        • 2.5 异常使用的建议
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档