0

我只是把我的错误写成文字。我应该把它们当作char* v,char v还是const char* v?

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

2 回答 2

9

你应该抓住一个 int 因为你正在抛出一个 int

于 2013-06-07T14:35:05.280 回答
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 是要抛出的首选对象,并且错误位置最清楚地提供对正在发生的事情的描述。

于 2013-06-07T14:46:20.913 回答