zoukankan      html  css  js  c++  java
  • 函数后面加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.

    顺序  选择  循环  总结

  • 相关阅读:
    android 多行文本显示的textView
    FastJson 打Release 包解析失败
    Android 颜色透明度换算
    Android Stadio 导入moudle 不显示
    Android onConfigurationChanged 收不到回调
    如何在TortoiseGit中使用ssh-keygen生成的key
    Android 判断屏幕方向一个大坑
    requestLayout 无效
    Android stadio Switch repository Android stadio切换仓库
    Windows usb设备正在使用中
  • 原文地址:https://www.cnblogs.com/Braveliu/p/3293285.html
Copyright © 2011-2022 走看看