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

为什么捕获RuntimeException并不是一种好的编程习惯?

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

为什么捕获RuntimeException并不是一种好的编程习惯?

通常,a

RuntimeException
表示编程错误(在这种情况下,您无法“处理”该错误,因为如果您知道期望发生错误,则可以避免该错误)。

捕获任何这些常规异常(包括

Throwable
)都是一个坏主意,因为这意味着您声称自己了解所有可能出错的情况,尽管如此,您仍然可以继续。有时
Exception
(而不是通常
Throwable
)捕获堆栈的顶层是适当的,例如在Web服务器中-
因为通常 _单个_请求出了什么问题,您通常希望保持服务器正常运行并响应其他请求。我通常不会捕获
Throwable
,因为其中包括
Error
通常用于指示真正灾难性错误的子类,通常最好通过终止过程来“处理”这些错误。

从根本上讲,当出现错误时,您需要对继续执行特定任务非常谨慎-您需要对错误的含义有一个非常好的了解,否则您可能会对世界状况做出错误的假设,并使情况变得更糟。在
_大多数_情况下(并非全部),简单地放弃请求要比尝试继续进行下去要好,而不管发生什么神秘的失败。(尽管它确实很大程度上取决于上下文,例如,您可能不关心尝试获取一条辅助信息时出了什么问题。)

至于抓

Exception
不抓
RuntimeException
-那是不正确的。唯一奇怪的
RuntimeException
是,它(和子类)是未经检查的异常,而的
Exception
所有其他子类
Exception
都经过检查。



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

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

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