Poikkeukset

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;

}