一个极有可能引发ExecutionEngineException的情况

lxhbc1005

lxhbc1005

2016-02-19 17:54

下面是个超简单的一个极有可能引发ExecutionEngineException的情况教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~

  关于ExecuteEngineException,在.net framework SDK中有这样的描述:

  “执行引擎错误是致命错误,决不应该发生。此类错误主要是在执行引擎被破坏或丢失数据时发生的。系统会随时引发此异常。在可能的情况下,系统将引发比 ExecutionEngineException 异常能提供更多信息的异常。

  应用程序不应引发 ExecutionEngineException。”

  从这个描述可以看出,ExecutionEngineException这个异常在正常的程序中应当是不可能发生的,致命错误嘛。然而我今天却就与这个异常来了个多次碰头。

  具体情况大致是这样的:一个具有查看器(Viewer)功能的COM控件,在.net中使用。这个Viewer有一个特性,在当前可视区域发生某些变化时,将会触发两个事件,而在更特定的情况下,这两个事件触发的时间差可能非常之小,几乎是同时发生。此时外层的.net程序引发ExecutionEngineException异常的可能性就变得非常之大,基本上每次操作都至少遇上一次,当然也只能遇上一次,因为一遇上就差不多Crash了。

  应该还是在.net与COM交互时发生的问题,虽然不清楚具体过程,也可以大概猜想一下:当第一个事件发生的时候,.net开始对它进行处理,没等处理完毕,第二个事件又发生了,异常也就诞生了。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  知道原因就好办。加入一个事件挂起机制,使得任意两个事件的触发时间间隔不会太小,避免两个事件几乎同时触发的情况再次发生。果然,一试之下再也没有出现这个异常了。如果有遇上类似现象的,不妨用这个思路试一下。

  PS,这里我使用的环境是.net framework 1.1,目前尚不知在.net framework 2.0下是否有同样的现象。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  
  http://www.cnblogs.com/sunwaywei/archive/2006/08/21/482674.html

展开更多 50%)
分享

猜你喜欢

一个极有可能引发ExecutionEngineException的情况

Web开发
一个极有可能引发ExecutionEngineException的情况

哪些情况可能引发宫颈炎

电脑网络
哪些情况可能引发宫颈炎

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

一个圆的若干种可能

运动
一个圆的若干种可能

一个简单的域名注册情况查询程序

PHP
一个简单的域名注册情况查询程序

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

胎盘异常引发的难产情况

电脑网络
胎盘异常引发的难产情况

一个包子引发的血案 记《仙剑奇侠传5》

仙剑奇侠传5
一个包子引发的血案 记《仙剑奇侠传5》

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何控制系统音量

如何控制系统音量

win10专业版怎么升级到企业版?

win10专业版怎么升级到企业版?
下拉加载更多内容 ↓