gpt4 book ai didi

exception - 捕获一般异常真的那么糟糕吗?

转载 作者:行者123 更新时间:2023-12-03 05:46:56 24 4
gpt4 key购买 nike

在使用 FXCop 分析一些遗留代码时,我想到在 try block 中捕获一般异常错误真的那么糟糕,还是应该寻找特定的异常。请考虑一下明信片。

最佳答案

显然,这是唯一真正答案是“视情况而定”的问题之一。

它主要取决于你在哪里捕获异常。一般来说,库在捕获异常方面应该更加保守,而在程序的顶层(例如在主方法中或在 Controller 中的操作方法的顶部等),您可以对捕获的内容更加自由。

这样做的原因是,例如您不想捕获库中的所有异常,因为您可能会掩盖与您的库无关的问题,例如“OutOfMemoryException”,您确实希望它冒泡,以便可以通知用户等。另一方面另一方面,如果您正在讨论在 main() 方法中捕获异常,该方法捕获异常,显示它然后退出......好吧,在这里捕获任何异常可能都是安全的。

关于捕获所有异常的最重要规则是,您永远不应该默默地吞下所有异常......例如Java 中是这样的:

try { 
something();
} catch (Exception ex) {}

或者Python中的这个:

try:
something()
except:
pass

因为这些可能是最难追踪的问题。

一个好的经验法则是,您应该只捕获您自己可以正确处理的异常。如果您无法完全处理异常,那么您应该让它冒泡给可以处理的人。

关于exception - 捕获一般异常真的那么糟糕吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com