std::runtime error (tsz. std::runtime errors)
std::runtime_error
a C++ kivételkezelési rendszerének része, és a futás közben jelentkező hibák reprezentálására szolgál, amelyeket nem lehet előre detektálni fordítási időben.
std::exception └── std::runtime_error
Ez egy std::exception
típusú osztály, így bármely általános kivételkezelés (catch(std::exception&)
) el tudja kapni.
#include <stdexcept>
throw std::runtime_error("Hibaüzenet");
#include <iostream>
#include <stdexcept>
int divide(int a, int b) {
if (b == 0)
throw std::runtime_error("Nullával való osztás!");
return a / b;
}
int main() {
try {
std::cout << divide(10, 0);
} catch (const std::runtime_error& e) {
std::cerr << "Hiba: " << e.what() << std::endl;
}
}
🖨️ Kimenet:
Hiba: Nullával való osztás!
.what()
metódusconst char*
típusú.
Osztály | Használat |
---|---|
std::logic_error
|
Ha programozási hiba történt (pl. precondition sérült) |
std::runtime_error
|
Ha futásidejű hiba történt |
std::out_of_range
|
Indexelések hibái esetén |
std::invalid_argument
|
Ha rossz paramétert kap egy függvény |
std::overflow_error
|
Matematikai túlcsordulás esetén |
std::runtime_error
: dobásra kész osztály futásidejű hibákhoz.try
–catch
blokkot a lekezeléséhez.