投掷和捕捉一根绳子

时间:2013-06-07 14:33:26

标签: c++

我只是把我的错误写成文字。 我应该将其标记为char* vchar vconst char* v吗?

try{
    int choice = 1
        if(choice != 2)
            throw choice;
}
catch(char* v){
    if (v == choice)
cout << "Error: choice != 2."
}

2 个答案:

答案 0 :(得分:9)

你应该捕获一个int,因为你正在抛出一个int

答案 1 :(得分:4)

请改为尝试:

try
{
    int choice = 1;
    if(choice != 2)
    {
        throw std::runtime_error("choice != 2");
    }
}
catch(std::exception& e)
{
    std::cout << "Error: " << e.what() << "\n";
}

std :: exceptions是要抛出的首选对象 错误位置最能提供对正在发生的事情的描述。