C++中的 throw详解

在《C++异常处理》一节中,我们讲到了 C++ 异常处理的流程,具体为:

抛出(Throw)--> 检测(Try) --> 捕获(Catch)

异常必须显式地抛出,才能被检测和捕获到;如果没有显式的抛出,即使有异常也检测不到。在 C++ 中,我们使用 throw 关键字来显式地抛出异常,它的用法为:

throw exceptionData;

exceptionData 是“异常数据”的意思,它可以包含任意的信息,完全有程序员决定。exceptionData 可以是 int、float、bool 等基本类型,也可以是指针、数组、字符串、结构体、类等聚合类型,请看下面的例子:

    char str[] = "http://c.biancheng.net";
    char *pstr = str;
    class Base{};
    Base obj;
    throw 100;  //int 类型
    throw str;  //数组类型
    throw pstr;  //指针类型
    throw obj;  //对象类型

一个动态数组的例子

C/C++ 规定,

猜你喜欢

转载自blog.csdn.net/shiwei0813/article/details/132950527
今日推荐