小编FUR*_*10N的帖子

过滤异常处理程序中的代码在访问异常时抛出NullReferenceException

当我使用.NET Native编译器编译UWP应用程序并启用代码优化(实质上是发布模式)时,NullReferenceException当我尝试访问catch块中的实际异常时,我得到了一个.

代码示例:

try
{
    throw new ArgumentNullException("Param");
}
catch (ArgumentNullException ex) when (ex.ParamName == "Param")
{
    ErrorBlock.Text = ex.ParamName; // ErrorBlock is a TextBlock in the xaml
}
catch (Exception)
{
}
Run Code Online (Sandbox Code Playgroud)

它进入正确的catch块,并NullReferenceException在我访问时抛出ex.只有在.Net Native和代码优化都启用时,这才会失败.

是什么导致这个问题?

c# .net-native c#-6.0

10
推荐指数
2
解决办法
146
查看次数

标签 统计

.net-native ×1

c# ×1

c#-6.0 ×1