栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

应该捕获Throwable的哪个子类,而不应该捕获哪个?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

应该捕获Throwable的哪个子类,而不应该捕获哪个?

通常,这

Error
是严重错误(通常 在平台本身内部 ),您无法想象得到处理。我曾经关心醒目的唯一时间
Error
是为了 记录它
,下面我再重新抛出。

这是非常重要的,因为它很容易让错误(和运行时异常),以这样的方式,他们从未登录(例如,使用沿着调用堆栈

executorService.submit(Runnable)
不听返回
Future

Error
s通常是这样的:

  • 记不清
  • 抽象方法错误(例如,针对不同版本的库运行)
  • 断言(即,程序员定义的 不变量 ,或不应发生的事情-大声笑!)

然后,我会说

RuntimeException
s通常(尽管并非总是)指示 编程 错误:

  • 不检查null或传入null
  • 传递无效的参数或允许无效的状态
  • 遍历集合时修改集合

我通常也建议在这些方面进行快速失败,但这是一个灰色区域。也许您在将用户输入传递到服务器之前不检查用户输入-几乎不值得使您的应用崩溃!

Checked

Exception
(即非运行时)应用于您可以合理预期发生并可以合理(或可以想象)在代码中处理的内容。我个人喜欢检查异常,但是由于以相同方式(即,在多个相同的catch块中)处理不同异常类型所涉及的冗长/重复,这些异常繁琐。Scala之类的语言具有更好的catch语法,但随后它们也删除了
检查 异常的概念!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/498422.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号