博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
函数后面加throw关键字
阅读量:6752 次
发布时间:2019-06-25

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

【1】为什么函数后面加throw关键字?

C++函数后面加关键字throw(something)限制,是对这个函数的异常安全性作出限制。

举例及解释如下:

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

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

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

 

还不明白吗?看这个解释(一个形象笑话):

throw()   大概会说:“噢,不管你抛什么,就是不准抛。”

throw(...)   呵呵一笑,满脸慈祥:“抛吧抛吧,尽情地抛吧。”

throw(type)   一听急了:“那可不行,要抛也只能抛我的香烟头,否则要是不小心把俺祖传的金戒指抛掉就太亏了。”

 

尤其注意这是异常规范,只会出现在声明函数中,表示这个函数可能抛出任何类型的异常。

 

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()函数,退出程序。

 

Good Good Study, Day Day Up.

顺序  选择  循环  总结

转载地址:http://mfvho.baihongyu.com/

你可能感兴趣的文章
这种新型EDR工具可实现秒级对全IT资产的检测与修复
查看>>
2017年数字存储产业将加强融合
查看>>
碟片数量再攀新高峰:磁盘驱动器制造商大胆加码
查看>>
2017年SSD将超存储市场33%份额
查看>>
再说智能手环:我为何会坚持佩戴半年?
查看>>
关于ASP.NET内存缓存你需要知道的10点
查看>>
为IoT和大数据项目分配IT资源
查看>>
GNU KHATA:开源的会计管理软件
查看>>
MIT做了一个全自动的大数据分析系统
查看>>
软件定义架构能为我做什么?
查看>>
未来的物联网 必须具备的三样东西是什么?
查看>>
想在网络安全领域深耕发展 需要具备这几种学位
查看>>
雅虎“卖身”之后:梅耶尔的角色会如何转换?
查看>>
在Vista安装SQL 2008 Express遭遇属性不匹配错误解决办法
查看>>
Human-like learning在对话机器人中的魔性运用
查看>>
cacti 服务器的搭建
查看>>
技术面试官之路
查看>>
详解iBaits中SqlMapClientTemplate的使用
查看>>
Laravel 安装
查看>>
Spring Boot专题背景简介
查看>>