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.