“如何修复”;捕获或抛出的类型必须从system.exception派生;C#中的wpf项目出错?

“如何修复”;捕获或抛出的类型必须从system.exception派生;C#中的wpf项目出错?,c#,wpf,validation,overflow,C#,Wpf,Validation,Overflow,我正在尝试为用户输入创建一个验证策略。但我一直收到一个CS0155错误 我试图抛出一个异常,但它无法消除错误 catch (OverflowAction) { Debug.WriteLine( "{0}.Validate: Int32 overflow (\"{1}\").", GetType(), str); stri

我正在尝试为用户输入创建一个验证策略。但我一直收到一个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();
            }

我希望验证器捕获异常并返回错误消息。

此错误表示您的
OverflowAction
类不是从
异常继承的(或派生的)

请参阅错误文档

只有从System.Exception派生的数据类型才能传递到catch块中

OverflowAction
应该是

class OverflowAction : Exception
{
    // ...
}


您可能会将
OverflowAction
与…

类EmptyOrInt32Rule:ValidationRule混淆,因为您可以看到我的类已经在使用ValidationRule。如何将异常添加到此中?这不是
异常
类。只有
异常
可以
捕获
”ed.Yup。就这样。有史以来最愚蠢的错误。是的,谢谢