Poikkeukset (Exceptions)
Poikkeukset ovat keino hallita ohjelman ajonaikaisia virhetilanteita.
Try-catch lohkon esittely:
#include <exception>
// Täällä esitellään exception-luokka
try {
// koodia...
} catch(const exception& e) {
cerr << "Poikkeus: " << e.what() << endl;
}
Catch-lohkon vaihtoehdot:
try {
// Tehdään tahallaan päätön allokointi, että voidaan testata
poikkeuksien käsittelyä...
int* m = new int[-1];
// Otetaan kiinni bad_alloc poikkeukset.
} catch(const bad_alloc& e) {
cerr << "Poikkeus: " << e.what() << endl;
// Otetaan kiinni loput poikkeukset.
} catch(...) {
cerr << "Poikkeus tapahtui... ei tiedetä mikä... ehkä olisi
syytä tarkistaa catch-ehdot..." << endl;
} |