Teme Avansate
Excepții
Excepțiile sunt mecanismul C++ pentru gestionarea erorilor la runtime în mod controlat, fără a opri brusc programul.
exceptions.cpp
#include <iostream>
#include <stdexcept>
using namespace std;
double impartire(double a, double b) {
if (b == 0) throw runtime_error("Impartire la zero!");
return a / b;
}
int main() {
try {
cout << impartire(10, 2) << endl; // 5
cout << impartire(10, 0) << endl; // aruncă excepție
} catch (const runtime_error& e) {
cout << "Eroare: " << e.what() << endl;
}
return 0;
}| Tip excepție | Descriere |
|---|---|
| runtime_error | Erori detectabile doar la runtime |
| logic_error | Erori de logică ale programului |
| out_of_range | Acces în afara limitelor |
| bad_alloc | Eșec la alocare memorie (new) |