函数异常规格说明

Posted 学习只为旅行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数异常规格说明相关的知识,希望对你有一定的参考价值。






抛出来的字符型异常没有被处理

#include <iostream>
#include <cstdlib>
#include <exception>

using namespace std;

void my_unexpected()
{
    cout << "void my_unexpected()" << endl;
    // exit(1);
    throw 1;
}

void func() throw(int)
{
    cout << "func()";
    cout << endl;
    
    throw 'c';
}

int main()
{
    set_unexpected(my_unexpected);
    
    try 
    {
        func();
    } 
    catch(int) 
    {
        cout << "catch(int)";
        cout << endl;
    } 
    catch(char) 
    {
        cout << "catch(char)";
        cout << endl;
    }

    return 0;
}

执行func(),抛出异常不会被捕获,执行my_unexpected()函数,抛出异常1(int),被catch捕获到:

小结

以上是关于函数异常规格说明的主要内容,如果未能解决你的问题,请参考以下文章

外传二 函数的异常规格说明

函数的异常规格说明

函数异常规格说明

软件测试的艺术:因果图

《面向对象程序设计》第三单元 JML 总结

团队作业:确定分工