Я не понимаю ошибки компиляции, которые возникают при попытке установить следующий конструктор для пользовательского класса исключений:
[Serializable]
class AuthenticationException : Exception
{
public int PracticeID { get; set; }
public AuthenticationException()
: base() { }
public AuthenticationException(string message)
: base(message) { }
public AuthenticationException(string message, Exception InnerException)
: base(message, InnerException) { }
public AuthenticationException(SerializationInfo info, StreamingContext context)
: base(info, context) { }
public AuthenticationException(int PracticeID)
: base(PracticeID)
{
this.PracticeID = PracticeID;
}
}
Я получаю следующие ошибки:
Лучший перегруженный метод соответствует
«System.Exception.Exception (string)» содержит недопустимые аргументы
&
не может преобразовать из 'int' в 'string'
Оба они встречаются в части: base (PracticeID) класса.
Я не понимаю, почему здесь ищут строку.
Я попытался найти ответ и прокомментировать эти два ранее заданных вопроса
Пользовательское исключение со свойствами
Как правильно сериализовать настраиваемое исключение .NET?
Я не уверен, что я делаю иначе, чем первый, который вызывает ошибки, и я попытался прочитать / повторить второй, но я полностью потерялся.
Это исключение будет происходить во внутреннем цикле, и я хотел бы иметь блок определения ошибок клиента во внешнем цикле, который имеет дело с этой конкретной ситуацией.
Я полагаю, что обходной путь - это просто использовать свойство Data класса исключения и в блоке catch внешнего цикла проверить, есть ли ключ для элемента с именем что-то вроде «Authenticate», и обработать там исключение.
Я не хочу этого делать, потому что именно для этого предназначены обработки исключений сортировки.