浅谈C++函数声明后面加throw()的作用(必看)

浅谈C++函数声明后面加throw()的作用(必看),第1张

概述问题描述:C++里面为什么有时候在函数声明的时候在后面加throw()关键字?解释:

问题描述:

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()属性到你的永远不会抛出异常的函数中,编译器会非常聪明的知道代码的意图和决定优化方式。

以上就是小编为大家带来的浅谈C++函数声明后面加throw()的作用(必看)全部内容了,希望大家多多支持编程小技巧~

总结

以上是内存溢出为你收集整理的浅谈C++函数声明后面加throw()的作用(必看)全部内容,希望文章能够帮你解决浅谈C++函数声明后面加throw()的作用(必看)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1245586.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存