c# - 空引用异常中的无效 MoveNext()
问题描述
我有一个WebAPI
包含以下代码的代码,其中在使用我的记录器记录的 try 块中编写的代码中有 Null 引用异常。
但是在登录TargetSite
时Exception
,我收到的是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;
}
解决方案
您有一个async
带有多个await
s 的方法。编译器将整个方法转换为状态机,您的方法实际上只调用了这个状态机。
这个状态机类有上面提到的MoveNext()
方法,现在包含了你真正想做的所有工作。
要分析您NullReferenceException
,您应该检查StackTrace
异常的属性而不是TargetSite
.
推荐阅读
- python - 如何在数据框的每一列之间插入一个空白列?
- python - 如何获取此函数的输出并将其用作字典?
- c - 如何在姓名前添加验证 mr 或 mrs
- actionscript-3 - 使用 AS3 AIR 在移动设备上滚动?
- python - 类是否接受具有可变类型的参数的不良架构
- angular - 如何使用 FuseNavigationService 在 Angular Fuse 中添加动态滑动条/导航条
- docker - 如何在 docker hub 上为存储库/图像设置徽标
- vue.js - 使用 vuetify 动态显示来自查询对象的某些列数据
- python - Tornado 登录表单单元测试
- mysql - 匹配两列值