Иногда случаются исключения. Когда они это делают, они регистрируются и позже анализируются. Журнал, очевидно, содержит трассировку стека и другую глобальную информацию, но часто отсутствует важный контекст. Я хотел бы аннотировать исключение этой дополнительной информацией, чтобы облегчить посмертную отладку.
пытаться {...} catch {... throw;}
, поскольку это считается перехватом исключения и усложняет отладку (во время разработки мне бы хотелось, чтобы приложение для остановки, и отладчик реагирует, когда выбрасывается исходное исключение, а не когда возникает самое внешнее неперехваченное исключение). Обработчики исключений первого шанса не являются обходным решением, поскольку, к сожалению, слишком много ложных срабатываний. Есть ли способ сохранить ключевые элементы контекста (например, обрабатываемое имя файла или что-то еще) в исключении таким образом, чтобы не перехватить исключение?