После того, как я прочитал MSDN article, что стимулировала следующую парадигму программирования (это не 100% верно ... см редактировать):Исключение бросает: инкапсулировать их или нет?
public class MyClass
{
public void Method1()
{
NewCustomException();
}
public void Method2()
{
NewCustomException();
}
void NewCustomException()
{
throw new CustomException("Exception message");
}
}
Как вы думаете, эта парадигма имеет смысл? Не было бы достаточно, чтобы сохранить сообщение об исключении в поле static const
, а затем передать его конструктору исключения вместо инкапсуляции всего исключения?
EDIT:
Используйте методы исключения строитель. Это общий для класса, чтобы тот же исключение из разных мест в его реализации. Чтобы избежать чрезмерного кода , используйте вспомогательные методы, которые создают исключение и возвращают его.
Я просто заметил (см цитата), что статья рассказывает возвращения исключение:
public class MyClass
{
public void Method1()
{
throw NewCustomException();
}
public void Method2()
{
throw NewCustomException();
}
CustomException NewCustomException()
{
return new CustomException("Exception message");
}
}
Что вы думаете об этом?
Инкапсулирование бросания исключений велико, если вы намерены добавить к нему дополнительную логику, которую вам нужно было бы добавить везде. –
А, ок. Но я действительно имею в виду только исключение, без какой-либо логики. – Simon
У вас есть ссылка на статью случайно? Было бы неплохо прочитать контекст, в котором кто-то рекомендовал это. –