任何非预期的例外

因为没有特异性的异常处理程序的类型,全面catches本异常处理程序。本例子包含以下结果:

我们在重要的例外在undetermined型

在全面处理负荷应放置在catch块链。这是一个异常处理程序可以确保重要的例外处理程序根据数据类型的处理程序,如果这些性存在。在Visual Studio enforces约束在其他编译器unsure if I do。

通常,在全面处理程序块是空的:左

1

catch(…){ } /忽略任何非预期的例外

这将吸引任何非预期的例外和防止他们从堆栈的顶部是你的计划,但并没有特异性的错误处理。

使用一套全面处理程序main()

使用一个有趣的一揽子处理程序包的内容主要是:()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
 
    try
    {
        RunGame();
    }
    catch(...)
    {
        cerr << "Abnormal termination" << endl;
    }
 
    SaveState(); // Save user's game
    return 1;
}

在这种情况下,如果rungame()或任何它调用的函数抛出一个未捕获的异常,异常将解除了栈和最终被捕捉到的所有处理程序。这将防止main()终止,并给我们一个机会去打印我们的选择错误,然后保存用户的状态在退出之前。这可以捕捉和处理未预料到的问题,可能是有用的。

异常说明符

本款应视为可选阅读因为异常说明符是在实践中很少使用,不能很好的支持的编译器,和Bjarne Stroustrup(C + +的创造者)认为他们是一个失败的试验。

异常说明符是一种机制,允许我们使用一个函数声明中指定一个函数是否可能会或不会抛出异常。这可以决定一个函数调用的需要放在try块或不可。

有三种类型的异常说明符,所有这些都使用的是抛出(……)语法。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值