Ugrás a tartalomhoz

std::domain error

A Wikiszótárból, a nyitott szótárból


Főnév

std::domain error (tsz. std::domain errors)

  1. (informatika) A std::domain_error egy kivételosztály a C++ szabványos könyvtárában, amely az <stdexcept> fejlécben található. Ez a kivétel olyan matematikai vagy logikai hibák jelzésére szolgál, amikor egy függvény bemeneti értékei érvénytelenek a függvény értelmezési tartományában.



📌 Példa használata

#include <iostream>
#include <stdexcept>
#include <cmath>

double gyok(double x) {
    if (x < 0) {
        throw std::domain_error("Negatív számnak nincs valós négyzetgyöke.");
    }
    return std::sqrt(x);
}

int main() {
    try {
        double eredmeny = gyok(-4);
        std::cout << "Gyök: " << eredmeny << '\n';
    } catch (const std::domain_error& e) {
        std::cerr << "Hiba: " << e.what() << '\n';
    }
}

🧠 Mikor használjuk?

  • Matematikai függvényeknél, amikor a bemenet nem esik a függvény értelmezési tartományába:
    • sqrt(x) ha x < 0
    • log(x) ha x <= 0
    • asin(x) ha x < -1 || x > 1



📚 Szintaxis

std::domain_error(const std::string& message);
  • Az üzenet (message) azt írja le, miért történt a kivétel.



⚠️ Megjegyzés

Ez egy szabályos kivétel, így throw, try és catch segítségével kezeljük.