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;是不行的,因为异常类型不一样。

  • 相关阅读:
    Does Spring Framework support Reactive @Transaction?
    How to explain the 'WebFlux' by analogy with 'Sports' ?
    Atom 插件推荐
    PC端页面适应不同的分辨率的方法 (转载)
    JS
    JS
    apicloud
    PHP
    CSS
    屏幕适配
  • 原文地址:https://www.cnblogs.com/HighFun/p/2756232.html
Copyright © 2011-2022 走看看