Я действительно очень смущен тем, почему вы хотите это сделать? Вы пытаетесь создать настраиваемое исключение для предоставления дополнительной информации? Если да, то вы хотите использовать этот шаблон.
Сначала определим собственный класс исключений, производный от Exception:
public class MyCustomException : Exception // Or you could derive from ApplicationException
{
public MyCustomException(string msg, Exception innerException)
: base(msg, innerException)
{
}
}
Вы можете также задать дополнительные параметры в пользовательском конструктору исключения, чтобы содержать даже больше информации, если вы хотите. Затем в коде приложения ...
public void SomeMethod()
{
try
{
// Some code that might throw an exception
}
catch (Exception ex)
{
throw new MyCustomException("Additional error information", ex);
}
}
Вы хотите быть уверены, чтобы следить за внутреннее исключение, потому что будет иметь самый полезный стека вызовов информацию о том, что вызвало исключение в первую очередь ,
+1 для ссылки слишком много Повторное использование –