gpt4 book ai didi

c# - 异常捕获最佳实践 (c#/.net)

转载 作者:太空狗 更新时间:2023-10-29 22:07:51 24 4
gpt4 key购买 nike

如果我有这样的代码:

void a()
{
try
{
b();
}
catch (MyException)
{
// Handle any problems that occurred in b(c(d()))
}
}

void b()
{
c();
// Do something else
}

void c()
{
d();
// Do something else
}

void d()
{
// Do something, throw a MyException if it fails
}

假设在任何时候都不需要清理,最好是在 c() 中对 d() 的调用和 b() 中对 c() 的调用周围放置一个 try{}catch{throw;} 还是在没有任何干预 try/catch block 的情况下让 d() 的异常“自然地”冒泡到 a() 是否可以?

我想额外的 try/catch block 充当一种“文档”,但它们似乎是多余的,所以我只是想知道其他人会认为什么是最好的方法。

抱歉,如果这一切都太基础了,我正在努力了解异常,但我似乎对它们还没有很好的感觉。

最佳答案

让它传播直到你能处理它。如果你不能处理它,就没有意义捕获它。那么问题来了,能否有效处理c()方法内部的异常?

关于c# - 异常捕获最佳实践 (c#/.net),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/569227/

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