gpt4 book ai didi

c# - trycatch 是如何伤害内存/CPU 的?

转载 作者:太空狗 更新时间:2023-10-30 00:44:31 24 4
gpt4 key购买 nike

所以我对它的 c# 方面很感兴趣 - 但我将 c++ 标记为那里存在的概念并且我没有超过“finally”关键字。所以无论如何 - 是否有关于 try-catch 如何减慢或使用比简单的“if-else”或其他代码更多的内存的在线基准?例如,现在我正在编写代码并使用 Streamwriter,当你将鼠标悬停在它上面时它会显示 7 个可能的异常......所以有人会声称如果我写这样的东西会更快:

//////////////
if(path is not too long)
{ if(file exists)
{ if(nothing else uses the file)
{ if(user is authorized)
}}}
////////////

您有 7 个条件,您可以只使用 try-catch,更不用说这些条件不能简化为单个 if 语句。

10 倍!

最佳答案

try/catch在异常发生时会有轻微的性能开销,但与文件访问相比,这个开销并不值得担心。

更重要的是 try/catch 是正确的,嵌套的 ifs 不是,因为文件系统是可以异步修改的共享资源。处理实际打开文件的错误或异常结果是避免竞争条件的唯一方法。

这些示例都使用文件,但这里有一个共享资源的通用原则。

关于c# - trycatch 是如何伤害内存/CPU 的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7698526/

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