Вы можете просто использовать ArgumentException
:
throw new ArgumentException("payload", "'payload' should be...");
Как указано ниже x0r, MSDN рекомендует только исходя из ArgumentException
, так как можетили может не дать вам никакой дополнительной ценности, это зависит от того, что определяет «недопустимый» аргумент, передаваемый через параметр - если вы можете определить строгие правила того, что может пойти не так, то вы можете получить выгоду от создания более точно названных исключений, которые происходят изArgumentException
.
Или вы можете использовать InvalidDataException
с таким же информационным сообщением, если оно есть:
Исключение, которое являетсягенерируется, когда поток данных имеет недопустимый формат.
Хотя имеется в виду поток данных, может быть некоторыми возражениями - давайте посмотрим.
Если этопросто для общего исключения «плохого формата», тогда у вас есть FormatException
- но это может быть faaar слишком общим для ваших обстоятельств (см. выше), хотя, возможно, далекоЛучшее исключение для получения, оно действительно зависит:
Исключение, которое выдается, когда формат аргумента не соответствует спецификациям параметров вызванного метода.