У кількох програмах нашої компанії ми використовуємо користувальницький реєстратор. Він досить надійний, хоча ми можемо замінити його чимось на зразок NLog у майбутньому. Одне з завдань реєстратора - реєструвати будь-які винятки, що зустрічаються в програмі.
Одно з проблем, які я завжди мав, - це те, що обробка винятків у лісорубіжчику забезпечує беззвучний збій. Тобто, якщо журнал не записується за певним винятком (через помилку в реєстраторі), як я повинен обробляти його та (якось) реєструвати виняток у самому реєстраторі ?
Скажімо, функція WriteLog кидає виняток. Чи варто спробувати викликати функцію кілька разів або поки виняток не буде кинутий? Чи варто спробувати написати викинутий виняток за допомогою реєстратора (що, швидше за все, призведе до виключень у всьому напрямку вниз ...)? Мені пощастило не стикатися з цією ситуацією, за винятком випадків, коли ми вперше впроваджували користувальницький реєстратор. З іншого боку, на даний момент я не можу знати, чи не вдалося реєструвати винятки програми (через власні винятки).
Я намагався шукати в Інтернеті та на деяких веб-сайтах SE, але це було безрезультатно, оскільки всі публікації стосуються помилок у реєстраторі (але не можливих винятків та способів їх реєстрації) або з винятками поза реєстратором.
stderr
що ваш вихідний носій не вдався або що "неможливо" сталося.