Тип «никогда»
Тип никогда
обозначает тип выражения, которое никогда не будет выполнено. Оно может завершиться исключением или не завершиться вообще (например, бесконечный цикл).
Тип никогда
является типом выражения выбросить
.
Пример использования:
метод ВыброситьИсключение(Описание: Строка): никогда
выбросить новый ИсключениеВыполнения(Описание)
;
метод НайтиПользователя(Ид: ИдПользователя): ОписаниеПользователяСервиса
знч ОписаниеПользователя = ПользователиСервиса.Найти(Ид)
// Метод вернет "никогда", если "ОписаниеПользователя" неопределено
возврат ОписаниеП ользователя != Неопределено ? ОписаниеПользователя : ВыброситьИсключение("Пользователь не найден!")
;
Особенности типа
- Не имеет экземпляров и значения по умолчанию.
- Является наследником всех остальных типов, следовательно:
- переменной или параметру типа
никогда
нельзя присвоить значение, отличное от самого типаникогда
; - значение выражения типа
никогда
может быть присвоено переменной любого типа; - тип
никогда
не учитывается при объединении типов:никогда | ДругойТип
равносильноДругойТип
; - метод с параметром типа
никогда
не может быть вызван, так как невозможно передать значение такого параметра.
- переменной или параметру типа
- Может использоваться в качестве параметра обобщенного типа и при создании экземпляра обобщенного типа.