通过c/c++对除零代码的处理,看异常处理方法

来源:互联网 发布:苏州碟科数据恢复中心 编辑:程序博客网 时间:2024/05/18 23:54

     AT有仿真运算功能,但是,当仿真指令中有除零运算时,由于直接执行了这段二进制代码,会导致崩溃。那么,如何处理这样的问题?如何捕获并正确报出异常呢?这里记录一下相关知识。

 

    首先给出一种消除该问题的方法

    在入口函数IECTask(void)中,可能出现的子函数IecCycle()调用之前,添加代码:

 

    其中,__try用来捕捉在IecCycle中可能出现的异常,各种异常定义的宏在except.h中。__except通过系统获取错误码的API GetExceptionCode提出错误信息,并设置程序是否继续运行。

 

    另外,还有try-catch,及C语言中对应的错误处理方法,这里先不列出,后面补充