投掷和抓住一根绳子

Throwing and catching a string

本文关键字:一根      更新时间:2023-10-16

我只是把我的错误写成文字。我应该将它们捕获为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."
}

你应该捕捉一个整型,因为你抛出了一个整型

试试这个:

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

std::异常是被抛出和抛出的首选对象错误位置最好提供正在发生的事情的描述。