В платформе .NET уже есть довольно много исключений, которые следует использовать, если вы можете найти такое, которое можно использовать в исключительных обстоятельствах.
Например, в моих классах конфигурации (которые обычно являются обертками вокруг ConfigurationManager
), я выкидываю ConfigurationErrorsException
, когда значение не может быть проанализировано правильно.
При синтаксическом анализе пользовательских значений из текста или чего-то другого, требующего специального формата, и при синтаксическом анализе происходит сбой FormatException
Однако, если у моего BankAccount
объекта недостаточно денег, чтобы я мог снять £ 10, тогда я напишу и скину InsufficentFundsException
, потому что тогда я смогу справиться с этим конкретным случаем ошибки, если он когда-либо произойдет .
Надеюсь, это (несколько) поможет.