У меня есть следующая кодировка
try
{
var foundCanProperty = properties
.First(x => x.Name == "Can" + method.Name);
var foundOnExecuteMethod = methods
.First(x => x.Name == "On" + method.Name);
var command = new Command(this, foundOnExecuteMethod, foundCanProperty);
TrySetCommand(foundControl as Control, command);
}
catch (InvalidOperationException ex)
{
throw new FatalException("Please check if you have provided all 'On' and 'Can' methods/properties for the view" + View.GetType().FullName, ex);
}
Я ожидал, что если method.First () (во втором выражении var) выдает исключение InvalidOperationException, я смогу его перехватить.Но, похоже, это не так (блок catch игнорируется, и приложение завершается с повышенным исключением).Если я выбрасываю себе исключение того же типа в блоке try, он ловится.Использует ли Linq многопоточность, чтобы исключение создавалось в другом потоке?Возможно, я делаю и здесь глупую ошибку и просто не вижу ее: (.
Спасибо за любую помощь!