【发布时间】:2012-06-04 01:55:42
【问题描述】:
这两个代码示例是否相同? Catch 和 Catch (Exception e) 有相同的输出,如果我写 Throw 或 Throw e 的结果也是一样的。
主要:
try
{
A();
//B();
}
catch (Exception e)
{
Console.WriteLine("{0} exception caught.", e);
}
代码 1:
static void A()
{
try
{
int value = 1 / int.Parse("0");
}
catch (Exception e)
{
throw e;
}
}
代码 2:
static void A()
{
// Rethrow syntax.
try
{
int value = 1 / int.Parse("0");
}
catch
{
throw;
}
}
【问题讨论】:
-
两者都是一样的,因为你
throw。 -
@MarcGravell - Marc 是的,如果他
throws e有区别。 -
知道了,我只是想重新标记,但我发现已经处理好了!
-
throw e有什么意义,因为您抛出异常但缺少堆栈跟踪的有用部分 -
@JonH 已经删除了我的评论 - 误读了问题;p