• C++函数后面加throw关键字简记


    看代码时候看到fun() throw()的用法,找到一篇blog解释很简单,如下:

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

  • 相关阅读:
    cmd 一键获取 所有连接过的wifi 密码
    MYSQL注入语句
    Web安全篇之SQL注入攻击
    Kali Linux 不能联网上网 解决方法
    php杂项
    laravel下的数据序列化
    填充数据
    css
    array
    GD库常用函数
  • 原文地址:https://www.cnblogs.com/space-place/p/7637924.html
Copyright © 2020-2023  润新知