Black friday Black friday
Aprílový black friday tě nenechá v klidu! Až 80 % prémiového obsahu zdarma. Více informací
Pouze tento týden slevy až 80 % na programování v Javě

Diskuze: výjimka v c++

C a C++ C a C++ výjimka v c++ American English version English version

Aktivity (1)
Avatar
Jakub Málek
Člen
Avatar
Jakub Málek:6.11.2018 19:28

Zdravím, nevím ani jak problém pojmenovat tudíž nevím jak ho najít někde na netu.
Můj problém je že mám proměnou " ina a;" a dále příkaz cin << a;. Při zadání nějakého neplatného formátu např. písmena, slova nebo tak, tak se program kousne a nebo zacyklí. Nevím jak tuto výjimku ošetřit. Prosím o radu.

Zkusil jsem:

int a;
try {
        cin >> a;
}
catch (exception e) {
        cout << "text";
}

Chci docílit: Nastavení výjimky

 
Odpovědět 6.11.2018 19:28
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Jakub Málek
DarkCoder:6.11.2018 22:05

Ošetřit vstup můžeš i jinak, za pomocí cin.fail().
Následující úryvek kódu ukazuje jeho činnost spolu s vynucením zadání správného vstupu.

do {
        cin >> num;
        if (cin.fail()) {
                cout << "Error" << endl;
                cin.clear();
                cin.ignore(numeric_limits<streamsize>::max(), '\n');
                continue;
        }
        break;
} while (true);
Nahoru Odpovědět 6.11.2018 22:05
"„Učíš-li se proto, aby sis zapamatoval, zapomeneš. Učíš-li se proto, abys porozuměl, zapamatuješ si."
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na Jakub Málek
patrik.valkovic:6.11.2018 22:28

V sekci C++ jsou nové popsané proudy a jak s nimi pracovat. Doporučuji si to pročíst.

Nahoru Odpovědět 6.11.2018 22:28
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.