异常处理的返回
Posted AncilunKiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常处理的返回相关的知识,希望对你有一定的参考价值。
异常处理的返回
异常可以分为四类:中断(interrupt)、陷阱(trap)、故障(fault)和终止(abort)。 这几种异常处理之后又有不同的返回方式,总的来讲:
类别 | 原因 | 异步/同步 | 返回行为 |
---|---|---|---|
中断 | 来自I/O设备的信号 | 异步 | 总是返回到下一条指令 |
陷阱 | 有意的异常 | 同步 | 总是返回到下一条指令 |
故障 | 潜在可恢复的错误 | 同步 | 可能返回到当前指令 |
终止 | 不可恢复的错误 | 同步 | 不会返回 |
中断
中断是来自I/O设备的信号,在中断处理结束后会返回下一条指令。
陷阱
陷阱是有意的异常,是执行一条指令的结果。就像中断处理程序一样,陷阱处理程序将控制返回到下一条指令。
故障
故障由错误情况引起,它可能能够被故障处理程序修正。根据故障是否能够被修复,故障处理程序要么重新执行引起故障的指令,要么终止。
终止
终止是不可恢复的致命错误造成的结果,通常是一些硬件错误。Linux/x86-64系统中的异常终止处理程序将控制传递给一个内核abort例程,该例程会终止这个应用程序。
以上参考《深入理解计算机系统 原书第三版》
以上是关于异常处理的返回的主要内容,如果未能解决你的问题,请参考以下文章