У меня есть класс CustomException
, то есть обертка поверх Exception
класса. Это основной класс, который я использую, когда обрабатываю исключения.Исключение, которое выбрасывает другое исключение
public class CustomException : Exception
{
public string ErrorMessage { get; private set; }
public HttpStatusCode HttpStatusCode { get; private set; }
public CustomException(string errorMessage)
: this(errorMessage, HttpStatusCode.InternalServerError)
{ }
public CustomException(string message, HttpStatusCode httpStatusCode)
{
ErrorMessage = message;
HttpStatusCode = httpStatusCode;
}
}
Когда я хочу бросить исключение, я использую throw CustomException()
метод.
Однако я хочу, чтобы создать некоторые обертки поверх этого CustomException(), а также, например:
public class ApplicationNotFoundException : Exception
{
public ApplicationNotFoundException(Application application)
{
string message = string.Format(@"Application ""{0}"" was not found", application.ApplicationName);
throw new CustomException(message, HttpStatusCode.NotFound);
}
}
И я бросить исключение линии это: throw new ApplicationNotFoundException(application)
В основном я бросаю исключение, из другого Исключения.
Этот подход плохой?
+1, ApplicationNotFoundException должно выводиться из CustomException –
@ bash.d: Единственным недостатком, вызывающим 'ApplicationNotFoundException', вытекающим из' CustomException', является что я не могу создать текст исключения внутри тела конструктора 'ApplicationNotFoundException' – Catalin
@RaraituL Вы не можете? Почему нет?? –