美文网首页
异常处理流程总结

异常处理流程总结

作者: 超人高飞 | 来源:发表于2016-12-19 08:59 被阅读105次
  1. cpu执行时发生并捕获异常,内核接过进程的控制权,开始内核态的异常处理。
  2. 内核异常处理结束,把控制权交ring3层。
  3. ring3中的第一个处理异常的函数是ntdll.dll中的KiUserExceptionDispatcher()函数。
  4. KiUserExceptionDispatcher()函数首先检查程序是否处在调试的状态,如果程序正在被调试,会将异常交给调试器来进行处理。
  5. 在非调试的状态下,KiUserExceptionDisPatcher()调用RtlDispatchException()函数对线程的SEH链表进行遍历,如果找到能够处理的异常的回调函数,将再次遍历先前的SEH句柄,即unwind操作,以保证异常处理机制自身的完整性。
  6. 如果栈中所有的SEH都失败了,且用户曾经使用过SetUnHandleExceptionFilter()函数设定进程异常处理,则这个异常处理将会被调用。
  7. 如果用户自定义的异常处理失败,或者是用户没有设定异常处理函数,那么系统默认的异常处理函数UNHandleExceptionFilter()将被调用。这个函数会根据注册表中的信息决定是默默的关闭程序还是弹出错误的对话框。

相关文章

  • 异常处理流程总结

    cpu执行时发生并捕获异常,内核接过进程的控制权,开始内核态的异常处理。 内核异常处理结束,把控制权交ring3层...

  • 异常处理设计文档

    一、异常处理流程说明 在ESB处理过程中,若发生异常,将进入异常流程的处理。一个异常处理流程大致如下: ESB处理...

  • 异常处理

    异常处理流程: 实例:

  • ARM异常之常见关注点梳理

    异常处理流程 当异常发生时,处理器有一套预定义好的处理序列来处理异常及从异常中恢复。如果发生异常,除了reset之...

  • UiPath异常处理机制

    2. 异常处理 2.1 概述 在流程开发中,进行异常处理是非常关键的一部分。一个流程的异常处理框架的好坏直接影响到...

  • java异常

    1、什么是异常 导致程序的正常流程被中断的事件,叫做异常 2、处理异常 try catch 异常处理常见手段:tr...

  • Java异常的捕获及处理

    导语 学完异常的捕获及处理就懂的情书。 主要内容 异常的产生以及对于程序的影响 异常处理的格式 异常的处理流程(核...

  • 网易云音乐登录流程图

    一.【网易云音乐】登录流程设计 二.【网易云音乐】登录流程异常总结 【网易云音乐】手机登录流程异常 正常登录时 ...

  • JavaSE之异常

    八、异常 目录:什么是异常、异常体系结构、Java异常处理机制、处理异常、自定义异常、总结 1.Error和Exc...

  • Java--异常处理

    异常 异常不是编译时的错误(Error),异常是运行时错误(Exception) 异常处理流程 代码出现错误后,它...

网友评论

      本文标题:异常处理流程总结

      本文链接:https://www.haomeiwen.com/subject/qbozmttx.html