c/c++:异常抛出(throw and catch)

File : throw and catch.cpp
Type : c/c++
Brief : throw and catch for const string


#include <iostream>
using std::cout;
using std::endl;
/*
    void fun() throw() 表示fun不允许抛出任何异常,即fun是异常安全的。
    void fun()              表示fun可以抛出任何形式的异常。
    void fun() throw(...)   (只针对msvc++)表示fun可以抛出任何形式的异常。
    void fun() throw(exceptionType) 表示fun只能抛出exceptionType类型的异常。
*/

void hello()
{
    cout << "hello world" << endl;
    
    throw "it's so bored to throw hello";
}

void runHello()
{
    try
    {
        hello();
    }
    catch(const char *str)          // 必须加const
    {
        cout << str << endl;
        cout << "no zuo no die" << endl;
    }
}

int main(int argc, char *argv[])
{
    runHello();
    
    return 0;
}

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 [ yehuohan@gmail.com ]

文章标题:c/c++:异常抛出(throw and catch)

本文作者:Y

发布时间:2017-08-09, 15:48:39

最后更新:2019-05-21, 20:06:11

原始链接:http://yehuohan.github.io/2017/08/09/Gist/c&c++/throw-and-catch/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。