首页 > 解决方案 > 空引用异常中的无效 MoveNext()

问题描述

我有一个WebAPI包含以下代码的代码,其中在使用我的记录器记录的 try 块中编写的代码中有 Null 引用异常。

但是在登录TargetSiteException,我收到的是Void MoveNext()而不是编写此代码的方法名称。

可能是什么原因相同?

public async Task<ResponseStatus> ProcessRCSCNotification(IList<RecurringSubscriptionModelV2> recurringSubscriptionList, string appCD)
    {
            foreach (var model in modelList)
{
  // Some code
  try
  {
     // Exception occurs here
  }
  catch (Exception ex)
  {
    // Logger is logging exception here
  }
}
        return null;
    }

标签: c#

解决方案


您有一个async带有多个awaits 的方法。编译器将整个方法转换为状态机,您的方法实际上只调用了这个状态机。

这个状态机类有上面提到的MoveNext()方法,现在包含了你真正想做的所有工作。

要分析您NullReferenceException,您应该检查StackTrace异常的属性而不是TargetSite.


推荐阅读