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

尝试/多发vs单发

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

尝试/多发vs单发

tl; dr Mutlicatch单手处理事情,多个catch块更灵活,操作更方便。可以将两种技术结合起来。

如果您有一个try语句可以引发许多不同的异常类型,则需要多个catch块。它的代码更多,但提供了更大的灵活性。

例如,如果使用套接字,则可能仅通过重新连接和/或错误消息而捕获到SocketException(就像无意中断开电缆那样简单)

如果捕获到一个空指针异常(尽管未检查),则您将要写入日志并在此处紧急着陆,清理您可以执行的操作,并可能在代码上进行一些回溯。

此外,这可以进一步细分,其中不同类型的“常见”异常可能会导致采取不同的操作(例如,连接丢失与名称未解析会在首次连接尝试中对最终用户产生不同的影响),并且不同的“重”异常也以不同的方式处理。

虽然你可以有一个(多个异常类型)catch块,它要么一手承担(基于电缆被拔出以同样的方式呈现一个空指针异常给用户作为条件)的所有异常类似的行动或要求

ife instanceof FooException
块是会降低可读性。

您也可以将两者结合在一起,将所有“常见”异常多捕获为重试和优美的消息,并将所有严重异常多捕获为强制清除和关闭

您不需要跳线的堆栈跟踪,也不需要清除丢失的对象。



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

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

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