异常可以这样理解:
计算机执行一个连续的指令序列,如:a1,a2,a3,,,ak,这些指令执行的时候是顺序执行的,相邻的两条指令ak,ak+1在存储中也是相邻的,也就是说他们是一个平滑的指令流。
而有时候这种指令流会发生突变,也就是说相邻执行的两条指令ak,ak+1在存储器中是不相邻的。造成这种突变的可能有:跳转,函数调用,返回等。今天我们所讨论的异常,也是造成这种指令流突变的原因之一。
所以异常可以认为是指令顺序执行的时候,突然跳转到别的地方执行指令。
现在就可以来看相对专业的说法了:异常是控制流中的突变,用来相应处理器状态中的某些变化。
可以通过下图来更好的理解上述内容:
那么异常处理结束后计算机中的指令如何继续往下执行呢?根据触发异常的种类,会有三种情况:
1)处理程序将控制返回给当前指令I currr,即当事件发生时正执行的指令。
2)将控制返回给下一条指令,即如果没有发生异常的下一条指令。
3)终止发生异常的程序。
详细请看:说说计算机中的异常_Farmwang的博客-CSDN博客
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/102766.html