我只是把我的错误写成文字。
我应该将其标记为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."
}
答案 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是要抛出的首选对象 错误位置最能提供对正在发生的事情的描述。