Если вы запускаете этот код, когда свойство Page.IsPostBack имеет значение false, исключение не выдается.Это также объясняется в документации MSDN для SelectedValue (свойство Text просто вызывает SelectedValue для получения / установки)
Когда выбранное значение отсутствует в списке доступных значений ивыполняется обратная передача, генерируется исключение ArgumentOutOfRangeException.
Если мы посмотрим на исходный код SelectedValue , мы можем увидеть эту проверку
bool loaded = Page != null && Page.IsPostBack && _stateLoaded;
if (loaded && selectItem == null) {
throw new ArgumentOutOfRangeException("value", SR.GetString(SR.ListControl_SelectionOutOfRange, ID, "SelectedValue"));
}
Таким образом, когда IsPostBack имеет значение false или элемент управления еще не загрузил ViewState, мы не получаем никаких исключений.