我有以下代码:
try
{
OnInitialize();
}
catch (PageObjectLifecycleException exception)
{
exception.OldLifecycleState = CurrentLifecycleState;
exception.RequestedLifecycleState = LifecycleState.Initialized;
throw exception;
}
我捕获了一个异常,向其中添加了一些数据,并将其重新抛出。Resharper正确地警告我可能有意进行重新抛出,并建议将其更改为:
throw;
但我在想:这样会正确地重新抛出修改过的异常还是未经修改的原始异常?
编辑:针对“试一试并查看”评论的回应:我是C++新手,现在学习C#。在C++中,你经常会在这种边缘情况下遇到未定义的行为,我想知道我想要的是否真的是官方如何工作的。