加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c:std :: exception的what()方法中的奇怪语法

发布时间:2020-12-16 10:16:55 所属栏目:百科 来源:网络整理
导读:当我从std :: exception继承以定义我自己的异常类型时,我需要覆盖what()方法,该方法具有以下签名: virtual const char* what() const throw(); 这对我来说肯定很奇怪,就像签名中有两个方法名称一样.这是一些非常具体的语法,就像纯虚方法一样,例如: virtual
当我从std :: exception继承以定义我自己的异常类型时,我需要覆盖what()方法,该方法具有以下签名:

virtual const char* what() const throw();

这对我来说肯定很奇怪,就像签名中有两个方法名称一样.这是一些非常具体的语法,就像纯虚方法一样,例如:

virtual int method() const = 0;

或者这是一个功能,也可能以某种方式在另一个上下文中使用?如果是这样,它可以用于什么?

解决方法

它被称为异常规范. throw()不允许从此方法中抛出任何异常throw(int)只允许抛出int类型的异常.

异常规范将在C 0x中删除. This给出了很好的原因解释.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读