得,今天又碰上个糟心事儿,电脑上一个程序跑着跑着,突然就给我弹个“an internal exception occured”。当时我正弄着东西,这一下给我整不会。
这错误提示,跟没说一样,就“内部异常发生”,具体是啥异常,它也不讲清楚。这不明摆着让人抓瞎嘛第一反应,肯定是重启这个程序呗,万一是偶然抽风?结果,不行,还是一样的报错。
行,重启程序不行,那我重启电脑总行?有时候一些后台服务或者啥的没加载重启大法一般都能解决不少问题。于是我就老老实实把电脑重启一遍。满怀期待地再次打开那个程序……得,白瞎,错误依旧。
这时候就有点烦躁。这错误太笼统,线索太少。我就开始琢磨,最近电脑干啥?装新软件?更新系统补丁?好像是有个小更新。会不会是兼容性问题?
我就试着去找那个程序的执行文件,右键,属性,然后摸索到“兼容性”那个选项卡。
- 勾上“以兼容模式运行这个程序”,选个以前的系统版本,比如 Windows 8 或者 Windows 7。
- 顺便也勾上“以管理员身份运行此程序”。
然后点确定,再次尝试运行。你猜怎么着?还是不行!当时心里真是……有点无语。
没办法,只能继续排查。我就想,这种内部错误,有时候是不是跟某些配置文件或者临时文件损坏有关?我就去找这个程序的用户数据文件夹,一般藏在 AppData 目录或者“我的文档”里面。找一会儿,凭着经验大概定位到一个像是配置文件的目录。
我先把这个目录整个备份一下,然后一狠心,删!想着大不程序重新生成默认配置呗。删完之后,我心里也挺没底的,就再次双击程序的图标。
奇迹出现!程序这回启动稍微慢一点,像是在初始化啥东西,然后……进去!正常运行!那个烦人的“an internal exception occured”总算没再跳出来。
问题解决
看来这回碰到的问题,大概率就是程序的某个配置文件或者缓存文件损坏,导致它内部逻辑处理的时候出错,抛个异常出来。删掉这些损坏的文件,让程序重新生成,问题就解决。
虽然过程挺折腾,试重启、兼容模式都没用,还是靠删除配置文件这种“暴力”点的方法搞定的。这也算是个经验,以后再碰到类似的没头没脑的内部错误,除常规操作,检查和清理程序的配置文件、缓存文件,也是一个值得尝试的方向。
搞定就总算是能继续干活。分享出来,也希望大家要是碰到类似情况,能少走点弯路。