C#类库异常处理

Vin*_*ana 2 c# class-library exception-handling

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

private void MethodName(String text)
    {
        try
        {
            ..............
            ..............
            ..............
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message.ToString());
        }
    }
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

slu*_*ter 7

是的,你可以这样做,但一般来说,你应该只捕获例外,如果你要用它做一些事情 - 即吞下它或为它增加价值(通过变换,包装或记录它).

使用您的示例方法,如果text为null且您的方法需要一个值,则应抛出异常.除此之外,你应该让异常冒出来让调用者处理,除非你打算对它做一些事情,否则它是你打算压制的预期异常.

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

catch (Exception ex)
{
    //do something

    throw;
}
Run Code Online (Sandbox Code Playgroud)