博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++函数声明后面加throw()的作用
阅读量:4646 次
发布时间:2019-06-09

本文共 714 字,大约阅读时间需要 2 分钟。

原文地址:

 

C++里面为什么有时候在函数声明的时候在后面加throw()关键字?

 

解释:

C++函数后面加关键字throw(something)限制,是对这个函数的异常安全作出限制;这是一种异常规范,只会出现在声明函数时,表示这个函数可能抛出任何类型的异常。

 

void fun() throw();      //表示fun函数不允许抛出任何异常,即fun函数是异常安全的。

void fun() throw(...);    //表示fun函数可以抛出任何形式的异常。

void fun() throw(exceptionType);    // 表示fun函数只能抛出exceptionType类型的异常。

 

举例说明:

void GetTag() throw(int);                     // 表示只抛出int类型异常

void GetTag() throw(int,char);         // 表示抛出in,char类型异常
void GetTag() throw();                         // 表示不会抛出任何类型异常
void GetTag() throw(...);                      // 表示抛出任何类型异常
void GetTag() throw(int); 表示只抛出int类型异常,并不表示一定会抛出异常,但是一旦抛出异常只会抛出int类型,如果抛出非int类型异常,调用unexsetpion()函数,退出程序。
void GetTag() throw();  假如你加一个throw()属性到你的永远不会抛出异常的函数中,编译器会非常聪明的知道代码的意图和决定优化方式。

转载于:https://www.cnblogs.com/xiangtingshen/p/11575154.html

你可能感兴趣的文章
218. The Skyline Problem
查看>>
centos 安装 maven
查看>>
整型与字节转换关系
查看>>
用户名判断(练习)
查看>>
VS2013+EF6.1+Mysql配置心路历程
查看>>
Windows IIS服务挂载NAS共享文件存储
查看>>
用户列表-投资记录sql
查看>>
Mac上搭建rtmp流媒体服务器(结合FFmpeg的使用)
查看>>
HTML5⑥
查看>>
将jar包安装到本地仓库
查看>>
2333
查看>>
T4:益智游戏
查看>>
JS概述
查看>>
codeforces 712B Memory and Trident
查看>>
并行编译Parallel Building
查看>>
淘宝处理高并发
查看>>
14、equals 与 == 的区别
查看>>
处理爬虫遇到的乱码问题
查看>>
python---help
查看>>
爱你现在的时光 ---白岩松
查看>>