异常与中断区别
我知道异常是一种软件中断,但是在中断之后,程序计数器总是返回到引发中断之前的地址,但是在异常之后,如果异常没有得到正确处理,程序可能会终止,这意味着程序计数器不再指向程序指令的内存地址,那么为什么处理会有如此大的差异呢? 假设我们有一个程序,它将两个数字 A 和 B 相除。首先,程序要求 B,打印 B,然后要求 A,打印 A 计算 B/A,最后打印 B/A。让我们暂时忽略来自键盘的中断。 因此,程序将第一个输入作为 B,然后显示中断中断主程序并执行在屏幕上显示 B 的指令,然后返回到中断发生时主程序的当前指令。现在假设 A 为 0,主程序没有内置处理异常(除...