一尘不染

在C#中重新引发异常的正确方法是什么?[重复]

c#

我有一个问题要问您,原因是我的伴侣以与我不同的方式做事。

这样做更好吗:

try
{
    ...
}
catch (Exception ex)
{
    ...
    throw;
}

或这个:

try
{
    ...
}
catch (Exception ex)
{
    ...
    throw ex;
}

他们做同样的事情吗?这个比那个好吗?


阅读 270

收藏
2020-05-19

共1个答案

一尘不染

您应该始终使用以下语法来抛出异常,否则您将踩到堆栈跟踪:

throw;

如果打印由“ throw ex”产生的跟踪,您将看到它以该语句结束,而不是异常的真正来源。

基本上,使用“ throw ex”被视为刑事犯罪。

2020-05-19