• 函数后面加throw关键字


    【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.

    顺序  选择  循环  总结

  • 相关阅读:
    Delphi DataSnap入门操作,动起来
    Delphi 记录Record和字符串String相互赋值
    转载:JAVA每天学习
    转载:IntelliJ IDEA 的使用方法总结
    合并多个txt
    如何用vosviewer进行时间线分析——结合pajek
    链路预测(一)
    【js】百分比保留两位小数
    【基础】float保留两位小数
    【js】鼠标悬停显示信息
  • 原文地址:https://www.cnblogs.com/Braveliu/p/3293285.html
Copyright © 2020-2023  润新知