Есть ли встроенное исключение .NET, которое указывает на недопустимое состояние объекта?

53

Какое исключение следует делать, если я сталкиваюсь с незаконным состоянием - например, метод инициализации, который следует вызывать только один раз, когда вызывается второй раз? Я действительно не вижу никакого встроенного исключения, которое имеет смысл. Это похоже на что-то, что должно быть в рамках - я не буду тыкать в нужное место?

Теги:
exception

2 ответа

68
Лучший ответ

InvalidOperationException может быть?

Исключение, которое вызывается, когда вызов метода недействителен для текущего состояния объекта.

  • 3
    Все больше и больше людей должны использовать InvalidOperationException вместо создания новых.
  • 0
    Спасибо! Я знал, что должно быть что-то.
Показать ещё 6 комментариев
-2

Если вообще я бы сказал, что System.InvalidProgramException станет ближе всего к тому, что вы хотите. Что не так, если вы выбрали специальное исключение?

  • 4
    IPE: «Исключение, которое выдается, когда программа содержит недопустимый промежуточный язык Microsoft (MSIL) или метаданные. Обычно это указывает на ошибку в компиляторе, сгенерировавшем программу». Использование стандартных исключений создает согласованность между платформой и сторонними приложениями.
  • 4
    В пользовательских исключениях нет ничего плохого, если в рамках нет ничего для поддержки вашего случая. Я мог бы написать собственный ArrayList, но зачем мне это?
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню