国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

一個(gè)極有可能引發(fā)ExecutionEngineException的情況

2019-11-18 17:03:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

關(guān)于ExecuteEngineException,在.net framework SDK中有這樣的描述:

“執(zhí)行引擎錯(cuò)誤是致命錯(cuò)誤,決不應(yīng)該發(fā)生。此類(lèi)錯(cuò)誤主要是在執(zhí)行引擎被破壞或丟失數(shù)據(jù)時(shí)發(fā)生的。系統(tǒng)會(huì)隨時(shí)引發(fā)此異常。在可能的情況下,系統(tǒng)將引發(fā)比 ExecutionEngineException 異常能提供更多信息的異常。

應(yīng)用程序不應(yīng)引發(fā) ExecutionEngineException。”

從這個(gè)描述可以看出,ExecutionEngineException這個(gè)異常在正常的程序中應(yīng)當(dāng)是不可能發(fā)生的,致命錯(cuò)誤嘛。然而我今天卻就與這個(gè)異常來(lái)了個(gè)多次碰頭。

具體情況大致是這樣的:一個(gè)具有查看器(Viewer)功能的COM控件,在.net中使用。這個(gè)Viewer有一個(gè)特性,在當(dāng)前可視區(qū)域發(fā)生某些變化時(shí),將會(huì)觸發(fā)兩個(gè)事件,而在更特定的情況下,這兩個(gè)事件觸發(fā)的時(shí)間差可能非常之小,幾乎是同時(shí)發(fā)生。此時(shí)外層的.net程序引發(fā)ExecutionEngineException異常的可能性就變得非常之大,基本上每次操作都至少遇上一次,當(dāng)然也只能遇上一次,因?yàn)橐挥錾暇筒畈欢郈rash了。

應(yīng)該還是在.net與COM交互時(shí)發(fā)生的問(wèn)題,雖然不清楚具體過(guò)程,也可以大概猜想一下:當(dāng)?shù)谝粋€(gè)事件發(fā)生的時(shí)候,.net開(kāi)始對(duì)它進(jìn)行處理,沒(méi)等處理完畢,第二個(gè)事件又發(fā)生了,異常也就誕生了。

知道原因就好辦。加入一個(gè)事件掛起機(jī)制,使得任意兩個(gè)事件的觸發(fā)時(shí)間間隔不會(huì)太小,避免兩個(gè)事件幾乎同時(shí)觸發(fā)的情況再次發(fā)生。果然,一試之下再也沒(méi)有出現(xiàn)這個(gè)異常了。如果有遇上類(lèi)似現(xiàn)象的,不妨用這個(gè)思路試一下。

PS,這里我使用的環(huán)境是.net framework 1.1,目前尚不知在.net framework 2.0下是否有同樣的現(xiàn)象。


http://m.survivalescaperooms.com/sunwaywei/archive/2006/08/21/482674.html


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阳曲县| 宕昌县| 兴仁县| 上林县| 嘉黎县| 容城县| 南宫市| 吴川市| 余庆县| 连云港市| 乌拉特中旗| 化州市| 县级市| 永和县| 凤阳县| 潍坊市| 潮安县| 盐城市| 台北县| 包头市| 蓝田县| 上高县| 鸡泽县| 田林县| 阿拉善右旗| 漳州市| 子长县| 深水埗区| 枣阳市| 泰安市| 兴业县| 江孜县| 绥德县| 新龙县| 德兴市| 文山县| 合作市| 赤城县| 鄂托克旗| 麦盖提县| 罗山县|