抛出或不抛出C#中的异常

use*_*912 1 c# try-catch throw

可能重复:
为什么在C#中捕获并重新抛出异常?

我一直在寻找网络,试图找到这个问题的答案 - 两者之间有什么关系?

try
{
    //Do Something
}
catch
{
    throw;
}
Run Code Online (Sandbox Code Playgroud)

VS

try
{
    //Do Something
}
catch
{
}
Run Code Online (Sandbox Code Playgroud)

要么

try
{
    //Do Something
}
catch (Exception Ex)
{
    //Do something with Exception Ex
}
Run Code Online (Sandbox Code Playgroud)

Con*_*rix 5

第一个在堆栈上重新抛出异常并保留堆栈跟踪.

第二个吞下(隐藏)异常.

第三个也可能吞下异常,但这取决于(做某事)做什么.