Sobes.tech
Junior — Middle

Hogyan lehet kezelni és tárolni az alkalmazásban lévő kivételekről szóló információkat?

sobes.tech MI

Válasz az MI-től

C++-ban az kivételkezeléshez a try-catch mechanizmust használják. A try blokkba kerül az a kód, amely kivételt okozhat, míg a catch blokkba az a kód, amely ezt a kivételt kezeli. Az kivételekről szóló információk mentéséhez naplózhatjuk a hiba részleteit, például a kivétel üzenetét, a hívási verem vagy a hibakód adatait egy fájlba vagy naplózó rendszerbe.

Példa:

#include <iostream>
#include <fstream>
#include <exception>

void logException(const std::exception& e) {
    std::ofstream logFile("error.log", std::ios::app);
    if (logFile.is_open()) {
        logFile << "Kivétel elkapva: " << e.what() << std::endl;
    }
}

int main() {
    try {
        throw std::runtime_error("Futtatási hiba");
    } catch (const std::exception& e) {
        logException(e);
        std::cerr << "Kivétel kezelve: " << e.what() << std::endl;
    }
    return 0;
}

Így a kivételek elkapásra kerülnek, és az ezekről szóló információk későbbi elemzésre mentésre kerülnek.