I want to learn all about exceptions in c++ and I found this code here to issue some because my OOM killer on Linux is not issuing terminate. I just don't understand what this code is doing in particular:
#include <iostream>
#include <stdexcept>
double f(double d)
{
return d > 1e7 ? throw std::overflow_error("too big") : d; //what is going on here?
}
int main()
{
try {
std::cout << f(1e10) << '\n';
} catch (const std::overflow_error& e) {
std::cout << e.what() << '\n'; // information from length_error printed
}
return 0;
}
Aucun commentaire:
Enregistrer un commentaire