Как исправить ошибку «Тип перехвачен или брошен должен быть получен из system.exception» для проекта wpf в C #? - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь создать стратегию проверки для пользовательского ввода. Но я продолжаю получать ошибку CS0155.

Я пытался вызвать исключение, но оно не избавляет от ошибки.

    catch (OverflowAction)
            {
                Debug.WriteLine(
                    "{0}.Validate: Int32 overflow (\"{1}\").",
                    GetType(), str);

                string errmsg = Properties.Resources.OverflowError;
                return new ValidationResult(false, errmsg);
               //throw new NotImplementedException();
            }

Я ожидаю, что средство проверки поймает исключение и вернет сообщение об ошибке.

1 Ответ

0 голосов
/ 09 мая 2019

Эта ошибка означает, что ваш класс OverflowAction не наследуется от Exception (или производного).

См. CS0155 документация об ошибках.

В блок catch могут передаваться только те типы данных, которые происходят из System.Exception.

OverflowAction должен выглядеть как

class OverflowAction : Exception
{
    // ...
}

Возможно, вы путаете OverflowAction с OverflowException ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...