Cześć,
Mam pewien problem z obsługą wyjątków.
W swoim programie mam klasę, która zbiera informacje o wystąpieniu błędów i
zapisuje je do pliku tekstowego w formie logów.
Niestety nie wiem jak poprawnie obsłużyć wyjątki w tym programie.
Przyjmijmy prosty przykład:
#include <iostream>
#include <fstream>
class A
{
public:
void report(const char* e){
std::ofstream file("txt");
file << e;
}
};
int main()
{
try
{
throw "exception\n";
}
catch(const char* e)
{
A a;
a.report(e);
std::cerr << e << '\n';
}
}
Powyższy kawałek kodu działa, natomiast mam spore wątpliwości co do bezpieczeństwa tego rozwiązania.
Problemem nie są tu wyjątki które sam rzucam (mogę najpierw dokonać wpisu, a następnie wywołać throw),
natomiast nieprzewidziane nie zostaną objęte.