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

2016-02-19 17:54 5 1 收藏

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

【 tulaoshi.com - Web开发 】

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

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

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

  应用程序不应引发 ExecutionEngineException。”

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

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

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

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

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

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

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

来源:http://www.tulaoshi.com/n/20160219/1616350.html

延伸阅读
标签: 电脑入门
╰︶ ̄ ╮◇◆      、 浮傷年華                  __________ 、     霓虹灯下ヾ             繁华落尽     __...
专家指导 怎样知道宝宝微量元素缺乏   为了更准确地了解孩子的营养状况,越来越多家长开始重视微量元素检测。那么应该如何判断孩子是否缺少微量元素?如何正确地给孩子补充微量元素?本期邀请广东省中 医院 儿科 主任医师杨京华为各位妈妈解答相关疑惑。 一、 宝宝 必需微量元素须知3项 1.小...
鸡蛋一天吃几个最好 从营养学的观点看,为了保证满足机体需要,又不致营养过剩,在一般情况下: 老年人:每天吃1~2个比较好。 青年和中年人:从事脑力劳动或轻体力劳动的,每天吃2个鸡蛋也比较合适;从事重体力劳动,消耗营养多的每天可吃2~3个鸡蛋。 少年和儿童:由于长身体,代谢快,每天也可吃2~3个。 ...
标签: 孕前
经期不宜服这八类药物 1.治疗妇科感染的阴道局部用药: 治疗阴道炎症的洗液、栓剂、泡腾片等应暂停使用。因为在月经期间,子宫黏膜充血,宫颈口松弛,加上阴道里有积血,非常适于细菌生长繁殖,若此时进行阴道局部用药,稍有不慎就会导致细菌逆行侵犯子宫腔及子宫内膜。 2.抗凝血药: 抗凝血药可引起月经过多,甚至大出血,经期应避免使用...
一个好用的DBGRID --- VC数据库开发之二 作者:陈松乐 下载本文配套代码一 (演示CGridCtrl的使用) 下载本文配套代码二 (演示与CMYODBC的配合使用) 一、引言 在用vc开发关于数据库的项目时,通常我们只好用微软的DBGRID作为数据库表格控件,其实微软的DBGRID并不好用,想...

经验教程

484

收藏

86
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部