谁先检测异常?

问题描述

我知道异常是一组运行时事件,无论何时发生都需要特殊的处理代码或硬件机制。

然而,我想知道谁首先检测到这样的事件,它是否一定是处理器本身,这意味着异常是指令级实际发生的事件的直接结果(例如要求 ALU 除以零,询问取消引用具有空值地址的指针)。

或者,是否也有可能发生在二进制可执行级别本身正在检查异常时,例如当试图访问超出数组限制时,在我看来,在处理器指令级别,一个可能会发生的事件理论上没问题,只会导致不可靠的内存读数,只要我们在运行进程允许的地址内存区域内。

我知道有不同类型的异常,我的问题是关于在执行二进制文件时谁首先检测各种类型的异常。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)