-
-
[原创]异常处理之异常处理流程原理总结(图文并茂)
-
发表于:
2019-2-4 17:24
5870
-
[原创]异常处理之异常处理流程原理总结(图文并茂)
今天我给大家总结一下异常处理的流程,内容很简单,形式主要是以框图+文字说明,逻辑清晰明了,个人的一些学习总结,希望能对大家有所收益。不多说,我们直接看下文。
我们可以把这个框图分为两部分解释:左半边的对象一般是软件调试人员,右半边的对象一般是软件开发人员(安装SEH)。用户也属于右边,当用户在运行此程序时,遇到一个异常,如果软件开发人员在设计的时候安装了处理此异常的SEH(需要开发人员自己写,自己安装,不是自带的),则可以进行相应的处理。系统默认异常处理流程则是最后一道防线,在所有的SEH都不起作用时,则会运行此程序,如果解不了,就会报出相应的错误提示(例如:MessageBox弹窗),甚至终止服务(这一点大家平常应该都有体会)。以上只是一些简单的描述,要想理解具体的每一步过程,还需弄懂此框图,下面也有文字说明,以免此图表述不清,结合文字,好好体会
①系统引发一个异常,现处于调试状态,转交给调试器处理,调试器忽略异常,检查是否安装SEH,没安装,调用系统默认异常处理。
②系统引发一个异常,现处于调试状态,转交给调试器处理,调试器忽略异常,检查是否安装SEH,已安装,是否解决了此异常,是,正常服务。
③系统引发一个异常,现处于调试状态,转交给调试器处理,调试器忽略异常,检查是否安装SEH,已安装,是否解决了此异常,否,调用系统默认异常处理。
④系统引发一个异常,现处于调试状态,转交给调试器处理,调试器不忽略异常,调用系统默认异常处理。
⑤系统引发一个异常,处于非调试状态,检查是否安装SEH,已安装,让SEH处理,是否解决此异常,是,正常服务。
⑥系统引发一个异常,处于非调试状态,检查是否安装SEH,未安装,调用系统默认异常处理。
⑦系统引发一个异常,处于非调试状态,检查是否安装SEH,已安装,让SEH处理,是否解决此异常,否,调用系统默认异常处理。
补充:上述的调试器是否忽略异常,则在此处设置。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!