В настоящее время я пишу API для некоторых манипуляций с данными, и у меня возник вопрос, на который я не могу ответить сам: D
Я создал класс исключений, который расширяет класс исключений .net Application, потому что я хочу добавить туда некоторые функции, которые будут выполняться каждый раз, когда API выдает исключение.
Например, я хочу предупредить сообщение об ошибке и трассировку стека с помощью смс и электронной почты, и я хочу записать внутреннее исключение через Log4net. Я не знаю, является ли это хорошим подходом для использования с классом пользовательских исключений или я слишком злоупотреблял значением пользовательских исключений.
Я прочитал эту статью о том, как расширить исключение в c #
Итак, мы идем с моим примером кода:
public class CustomExceptionClass : Exception
{
/// <summary>
/// I use custom functionality here everytime this exception occures
/// </summary>
/// <param name="errorMessage">error message</param>
/// <param name="innerEx">Inner exception that cause this exception</param>
public MyCustomException(string errorMessage, Exception innerEx) : base(errorMessage, innerEx)
{
//log exception
_log.ErrorFormat(errorMessage, innerEx);
//alert via sms and email
AlertMailer.SendAlertMessage(errorMessage, innerEx, innerEx.Message);
}
}