4

我可以在 ac# 类库中执行此操作来处理类库代码本身执行期间可能发生的异常吗?我是编写类库和在其中处理异常的新手。请指教。

private void MethodName(String text)
    {
        try
        {
            ..............
            ..............
            ..............
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message.ToString());
        }
    }

我在 google 和 stackoverflow 中进行了搜索,但没有找到任何文章是否允许我以这种方式处理类库中的异常,或者是否不推荐这样做。但它有效。可能是一个愚蠢的问题,但我有这个疑问。

谢谢。

4

1 回答 1

8

是的,你可以这样做,但一般来说,如果你打算对它做某事,你应该只捕获异常——即吞下它或为它增加价值(通过转换、包装或记录它)。

text使用您的示例方法,如果为 null 并且您的方法需要一个值,则应该抛出异常。除此之外,您应该让异常冒泡供调用者处理,除非您打算对其进行处理,或者这是您打算抑制的预期异常。

您也不应该抛出新异常,而只需使用 throw 关键字重新抛出当前异常:

catch (Exception ex)
{
    //do something

    throw;
}
于 2013-04-18T22:20:40.017 回答