什么是InvalidOperationException
操作无效异常。当方法调用对对象的当前状态无效时引发的异常。
继承
Object
Exception
SystemException
InvalidOperationException
详细说明
如果调用方法失败是由无效参数以外的其他原因导致的,则使用该异常。通常, 当对象的状态不支持方法调用时, 将引发此异常。 例如, 以下方法或原因会引发异常nvalidOperationException:
-
IEnumerator.MoveNext如果在创建枚举器后修改集合的对象,。
-
ResourceSet.GetString如果在执行方法调用前关闭资源集,。
-
XContainer.Add如果要添加的对象将导致结构不正确的 XML 文档,。
-
尝试从非主线程或 UI 线程的线程操作 UI 的方法。
- 从非 UI 线程更新 UI 线程(跨UI线程调用,楼主就是因为这个原因,在线程里调用的UI控件导致报错!)
- 在循环访问集合时更改集合
- 对其对象无法进行比较的数组或集合进行排序
- 将为 null 转换为其基础类型
- 对空集合调用 system.exception 方法
- 对没有一个元素的序列调用 SingleOrDefault 或可枚举的。
- 动态跨应用程序域字段访问
由于InvalidOperationException异常可以在多种情况下引发,因此读取由message属性返回的异常消息非常重要。
HRESULT
InvalidOperationException使用 COR_E_INVALIDOPERATION 值为0x80131509 的 HRESULT。