try-catch-throw是否会在没有异常处理的情况下添加任何值?

时间:2012-11-16 22:04:34

标签: c# .net

如果你有这样的方法:

public int Foo()
{
    try
    {
        // ...
    }
    catch(Exception)
    {
        throw;
    }
}

假设异常是在另一个地方捕获的,这比没有任何异常处理的方法更好吗?或者,另一方面,导致任何不利因素?

2 个答案:

答案 0 :(得分:2)

  

这比没有任何异常处理的方法更好吗?

没有。除了传递异常之外,这对您没有任何作用,这是默认行为。

就我个人而言,我认为这是一种不好的做法,因为try / catch表示你正在进行某种形式的异常处理或者要做某些事情例外。

答案 1 :(得分:2)

在运行时,这根本不会改变行为。

在调试器中,这为您提供了一个位置,可以在此方法中抛出异常时断开。您可以告诉Visual Studio在抛出某些异常时中断,但是当它们被抛出任何地方时会破坏,而不仅仅是在那个方法中。