当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《捕获最佳实践的异常(c#/.net)》经验,为你挑选了1个好方法。

如果我有这样的代码:

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;},还是认为OK让d()的异常在没有任何介入的try/catch块的情况下自然地冒泡到a()"自然"?

我认为额外的try/catch块可以作为一种"文档",但它们似乎是多余的,所以我只是想知道其他人会认为最好的方法.

对不起,如果这有点太基础了,我试图了解异常,但我似乎对它们没有好感觉.



1> Kent Boogaar..:

让它传播直到你可以处理它.如果你无法处理它,就没有必要抓住它.所以问题是,你能否有效地处理c()方法中的异常?

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有