W kilku aplikacjach naszej firmy korzystamy z niestandardowego rejestratora. Jest dość solidny, choć w przyszłości możemy go zastąpić czymś takim jak NLog. Jednym z zadań rejestratora jest rejestrowanie wyjątków napotkanych w aplikacji.
Jedną z moich obaw było to, że obsługa wyjątków w programie rejestrującym pozwala na cichą awarię. To znaczy, jeśli dziennik nie jest zapisany dla danego wyjątku (z powodu błędu w rejestratorze), jak mam go obsłużyć i (jakoś) zarejestrować wyjątek w samym rejestratorze ?
Powiedzmy, że funkcja WriteLog zgłasza wyjątek. Czy powinienem próbować wywoływać tę funkcję kilka razy, czy dopóki wyjątek nie zostanie zgłoszony? Czy powinienem spróbować zapisać zgłoszony wyjątek za pomocą programu rejestrującego (co prawdopodobnie doprowadziłoby do wyjątków od samego początku ...)? Miałem szczęście, że nie spotkałem się z tą sytuacją, z wyjątkiem pierwszego wdrożenia niestandardowego programu rejestrującego. Z drugiej strony nie mam obecnie możliwości dowiedzieć się, czy program rejestrujący nie zarejestrował wyjątków aplikacji (z powodu własnych wyjątków).
Próbowałem wyszukiwać online i na niektórych stronach SE, ale do tej pory było to bezowocne, ponieważ wszystkie posty dotyczą błędów w rejestratorze (ale nie potencjalnych wyjątków i sposobu ich rejestrowania) lub wyjątków poza rejestratorem.
stderr
że Twój nośnik wyjściowy zawiódł lub że stało się „niemożliwe”.