Предположим, я хочу вызвать новое исключение при вызове универсального метода с типом, который не имеет обязательного атрибута. Существует ли исключение .NET, подходящее для этой ситуации, или, что более вероятно, будет подходящим предком для пользовательского исключения?
Например:
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.
}
}
}
Спасибо.