Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a standard .NET exception to throw when a class doesn't implement a required attribute?

Suppose I want to throw a new exception when invoking a generic method with a type that doesn't have a required attribute. Is there a .NET exception that's appropriate for this situation, or, more likely, one that would be a suitable ancestor for a custom exception?

For example:

public static class ClassA
{

    public static T DoSomething<T>(string p)
    {
        Type returnType = typeof(T);
        object[] typeAttributes = returnType.GetCustomAttributes(typeof(SerializableAttribute), true);
        if ((typeAttributes == null) || (typeAttributes.Length == 0))
        {
             // Is there an exception type in the framework that I should use/inherit from here?
             throw new Exception("This class doesn't support blah blah blah"); 
             // Maybe ArgumentException? That doesn't seem to fit right.
        }
    }
} 

Thanks.

like image 339
a typing monkey Avatar asked Dec 13 '22 22:12

a typing monkey


1 Answers

the way I see it, you can go one of 3 ways...
1) NotSupportedException
2) NotImplementedException
3) You can make your own Exception type

like image 164
Muad'Dib Avatar answered Dec 15 '22 12:12

Muad'Dib