我能否在 C# 类库中执行此操作以处理类库代码本身执行期间可能发生的异常?我是编写类库和其中的异常处理的新手。请指教。
private void MethodName(String text)
{
try
{
..............
..............
..............
}
catch (Exception ex)
{
throw new Exception(ex.Message.ToString());
}
}
我在 google 和 stackoverflow 中搜索过,但没有找到任何文章是否允许我以这种方式处理类库中的异常,或者是否不推荐这样做。但它有效。可能是个愚蠢的问题,但我有这个疑问。
谢谢。
最佳答案
是的,你可以这样做,但一般来说,如果你要对它做些什么,你应该只捕获异常 - 即吞下它或增加它的值(value)(通过转换、包装或记录它)。
使用您的示例方法,如果 text
为空并且您的方法需要一个值,您应该抛出异常。除此之外,你应该让异常冒出来让调用者处理,除非你打算用它做一些事情,或者这是一个你打算抑制的预期异常。
你也不应该抛出新的异常,而只是使用 throw 关键字重新抛出当前异常:
catch (Exception ex)
{
//do something
throw;
}
关于C# 类库异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16093905/