zoukankan      html  css  js  c++  java
  • c++异常说明

    1、函数异常

    void fun() throw(runtime_error);表明该函数能够抛出一个runtime_error的异常。

    void fun() throw();空说明表示该函数不抛出任何异常。

    异常说明是函数声明的一个部分。声明处的异常和实现处的异常必须一样。

    如果函数内部抛出了一个违反说明的异常,那么就调用unexpected函数

    比如说

    void f() throw()

    {

      throw exception();

    }

    上面的函数已经说明了不会抛出异常,但是还是抛出了一个异常,这时就会调用unexpected函数。

    2、类的继承

     当从一个类继承的时候,函数的异常也会从基类继承出来,如果基类是抛出了一个异常,那么子类也必须抛出这个异常,或者是这个异常的子集。

    3、函数指针异常

    void (*pf)(int)throw (runtime_error);

    这说明该函数指针智能抛出runtime_error的异常。

    当把一个函数的地址复制给函数指针的时候,抛出异常的类型也必须一样或者更加严格。

    void fun(int)throw(runtime_error);

    void fun1(int)throw();

    void (*pf)(int)throw (runtime_error)= fun;是可以的,因为异常类型一样。

    void (*pf)(int)throw (runtime_error) = fun1;是不行的,因为异常类型不一样。

  • 相关阅读:
    serialize
    事件委托
    javascript checkbox 全选
    动态加载javascript和css
    使用javascript替换img标签里的src属性图片不显示的原因(IE6)
    unique
    android 判断网络状态
    httpclient超时
    android 根据uri获取路径
    HttpClientAdapter(工具类)
  • 原文地址:https://www.cnblogs.com/HighFun/p/2756232.html
Copyright © 2011-2022 走看看