Перейти к основному содержимому

Тип «никогда»

Тип никогда обозначает тип выражения, которое никогда не будет выполнено. Оно может завершиться исключением или не завершиться вообще (например, бесконечный цикл).

Тип никогда является типом выражения выбросить.

Пример использования:

метод ВыброситьИсключение(Описание: Строка): никогда
выбросить новый ИсключениеВыполнения(Описание)
;

метод НайтиПользователя(Ид: ИдПользователя): ОписаниеПользователяСервиса
знч ОписаниеПользователя = ПользователиСервиса.Найти(Ид)

// Метод вернет "никогда", если "ОписаниеПользователя" неопределено
возврат ОписаниеПользователя != Неопределено ? ОписаниеПользователя : ВыброситьИсключение("Пользователь не найден!")
;

Особенности типа

  • Не имеет экземпляров и значения по умолчанию.
  • Является наследником всех остальных типов, следовательно:
    • переменной или параметру типа никогда нельзя присвоить значение, отличное от самого типа никогда;
    • значение выражения типа никогда может быть присвоено переменной любого типа;
    • тип никогда не учитывается при объединении типов: никогда | ДругойТип равносильно ДругойТип;
    • метод с параметром типа никогда не может быть вызван, так как невозможно передать значение такого параметра.
  • Может использоваться в качестве параметра обобщенного типа и при создании экземпляра обобщенного типа.