私は自分のエラーを言葉で書いているだけです。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."
}
私は自分のエラーを言葉で書いているだけです。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."
}
int をスローしているので、int をキャッチする必要があります
代わりにこれを試してください:
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 はスローされる優先オブジェクトであり、エラーの場所は、何が起こっているかを説明するのに最適です。