Я понимаю, что они думают о том, чтобы поставить это на место, чтобы они могли гарантировать, что ведение журнала происходит всякий раз, когда выдается исключение CustomException; тем не менее, это определенно вонючий код.
Исключение следует использовать только для исключений, и код, выполняющий код, который может вызвать выброс CustomException, должен иметь возможность решать, что делать с этим исключением и регистрировать его или нет ... потому что ведение журнала должен быть конкретным для сценария, в котором это было вызвано.
Дополнительное примечание: пользовательские исключения должны наследоваться от ApplicationException в качестве корневого, чтобы вы могли определить, является ли исключение настраиваемым для ваших бизнес-библиотек или из самой .NET Framework.
--CORRECTION-- Я только что нашел этот пост , о котором я не знал, что по сути делает использование ApplicationException бесполезным.