Hogyan lehet C++ban kivételt dobadni, ha az console input nem int?
while (!userWantsToExit) {
cout << endl << "Enter the number: ";
if (cin >> controlInput) {
if (controlInput == 1) {
}
else if (controlInput == 2) {
}
else if (controlInput == 3) {
}
else if (controlInput == 9) {
}
}
else {
std::cerr << "ERROR reading number\n";
exit(EXIT_FAILURE);
}
}
Eddig így oldottam meg, de elvileg nem használhatom az STD-t hanem nekem kell megírni a kivételt hozzá és nem nagyon tudom hogy működnek.
(ez csak egy kis része a feladatnak amit nem értek, így nem házi megoldást kérek. Esetleg irányba igazítás is jó)





A kivételkezelésben nem használhatom az STD-t.
Gondolom valami olyanmi, hogy
if(nem szám) throw "baj van"
aztán elkapom catchben, vagy valami ilyesmi. Nem értek hozzá.





Igen, nagyjából ennyi, az egész kódrészletet, vagy függvényhívást, vagy ahogy szervezve van belerakod egy try-catch blockba
try
{
//failable code
// ...
if(something_wrong) throw SOME_ERROR_CODE;
}
catch(int e)
{
//handling exception
}





Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!