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țieDescriere
runtime_errorErori detectabile doar la runtime
logic_errorErori de logică ale programului
out_of_rangeAcces în afara limitelor
bad_allocEșec la alocare memorie (new)