JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.3:C++ 用户指南     Oracle Solaris Studio 12.3 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分C++ 编译器

1.  C++ 编译器

2.  使用 C++ 编译器

3.  使用 C++ 编译器选项

第 2 部分编写 C++ 程序

4.  语言扩展

5.  程序组织

6.  创建和使用模板

7.  编译模板

8.  异常处理

8.1 同步和异步异常

8.2 指定运行时错误

8.3 禁用异常

8.4 使用运行时函数和预定义的异常

8.5 将异常与信号和 Setjmp/Longjmp 混合使用

8.6 生成具有异常的共享库

9.  改善程序性能

10.  生成多线程程序

第 3 部分库

11.  使用库

12.  使用 C++ 标准库

13.  使用传统 iostream

14.  生成库

第 4 部分附录

A.  C++ 编译器选项

B.  Pragma

词汇表

索引

8.5 将异常与信号和 Setjmp/Longjmp 混合使用

可以在会出现异常的程序中使用 setjmp/longjmp 函数,只要它们不会互相影响。

使用异常和 setjmp/longjmp 的所有规则分别适用。此外,仅当在点 A 抛出与在点 B 捕获的异常具有相同的效果时,从点 A 到点 B 的 longjmp 才有效。需特别指出的是,不得使用 longjmp 进入或跳出 try 块或 catch 块(直接或间接),或使用 longjmp 跳过自动变量或临时变量的初始化或 non-trivial 销毁。

不能从信号处理程序抛出异常。