异常处理的返回

异常处理的返回

异常可以分为四类:中断(interrupt)、陷阱(trap)、故障(fault)和终止(abort)。 这几种异常处理之后又有不同的返回方式,总的来讲:

类别 原因 异步/同步 返回行为
中断 来自I/O设备的信号 异步 总是返回到下一条指令
陷阱 有意的异常 同步 总是返回到下一条指令
故障 潜在可恢复的错误 同步 可能返回到当前指令
终止 不可恢复的错误 同步 不会返回

中断

中断是来自I/O设备的信号,在中断处理结束后会返回下一条指令。

014

陷阱

陷阱是有意的异常,是执行一条指令的结果。就像中断处理程序一样,陷阱处理程序将控制返回到下一条指令。

015

故障

故障由错误情况引起,它可能能够被故障处理程序修正。根据故障是否能够被修复,故障处理程序要么重新执行引起故障的指令,要么终止。

016

终止

终止是不可恢复的致命错误造成的结果,通常是一些硬件错误。Linux/x86-64系统中的异常终止处理程序将控制传递给一个内核abort例程,该例程会终止这个应用程序。

017

以上参考《深入理解计算机系统 原书第三版》

posted @ 2023-01-10 17:09  AncilunKiang  阅读(522)  评论(0)    收藏  举报