Я разрабатываю приложение WinForms.
На данный момент все мои исключения регистрируются на уровне пользовательского интерфейса.
Однако ни для одного из них я не делаю ничего, кроме регистрации. Это свидетельствует о плохом дизайне?
Кроме того, в одном методе (метод .NET выполняет команду для службы Windows) он может генерировать исключения типа Win32Exception и InvalidOperationException.
За исключением, например, FileNotFound, я мог бы предложить пользователю предоставить другой файл (хотя в .NET есть встроенные методы для проверки существования файла), но с такими исключениями, как указано выше, они сводятся к проблемам низкого уровня с машиной, поэтому они могут быть зарегистрированы только на самом деле.
Правильный ли это способ решить, какие исключения ловить? Кроме того, я должен поймать или бросить ArgumentNullException? Это указывает на проблему с кодом, верно?