gpt4 book ai didi

c# - 总是 try catch 外部资源调用?

转载 作者:太空狗 更新时间:2023-10-29 18:19:42 25 4
gpt4 key购买 nike

我是否应该始终将外部资源调用包装在 try-catch 中? (即调用数据库或文件系统)调用外部资源时是否有错误处理的最佳实践?

最佳答案

仅捕获您可以处理的异常。因此,例如在使用外部资源时,最佳做法是捕获您知道可以处理的特定 异常。对于文件,这可能是(IOException、SecurityException 等),对于数据库,异常可能是 SqlException 或其他异常。

在任何情况下,不要捕获不处理的异常,让它们流向可以处理的上层。或者,如果出于某种原因您捕获了异常但未处理它们,则仅使用 throw; 重新抛出它们(这将创建一个 rethrow IL op,而不是 trow)。

如果使用的资源您不知道可能会抛出什么类型的异常,您就不得不捕获一般的异常类型。在这种情况下,安全的做法是使用来自不同应用程序域的上述资源(如果可能),或者让异常冒泡到可以显示或记录它们的顶层(ex UI)。

关于c# - 总是 try catch 外部资源调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/233207/

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