@romaro

Как называть методы, которые не обрабатывают исключений?

Иногда вызовы методов выстраиваются в цепочку и нужно подчеркнуть, что исключение будет передано без какой либо обработки. Раньше начинал названия таких методов с Try, но это конфликтует с общепринятым TryParse Pattern.
/// Этот метод так же не обрабатывает исключений
TryDoSomething2() 
{
   /// Этот метод может завершиться с "ожидаемым" исключением
   TryDoSomething1();
}

/// Здесь исключение будет обработано
DoSomething3() 
{
  try {
    TryDoSomething2();
  } catch {
    ...
  }
}


Существует ли какой-то паттерн для именования таких методов? Пока начал помечать их кастомным атрибутом:

[Throwable]
DoSomething() {...}
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 3
HemulGM
@HemulGM
Delphi Developer, сис. админ
Все методы изначально пишутся без обработки исключений и следовательно все методы могут кинуть исключение. Писать в каждом методе обработку ошибок просто так - глупо, тем более, если нет корректного противодействия ошибкам. Помимо всего этого, если ты втупую не будешь глушить все исключения без исключения (хе-хе), а обрабатывать только известные тебе исключения, то никто тебе не гарантирует, что не возникнет исключение, которое будет проброшено наверх, которое ты не обрабатываешь
Ответ написан
Комментировать
vabka
@vabka Куратор тега C#
Токсичный шарпист
Их не принято никак по особенному отмечать.
Ответ написан
AshBlade
@AshBlade Куратор тега C#
Просто хочу быть счастливым
1. Есть Try* методы. Они возвращают bool - была ли операция успешна, а реальное возвращаемое значение передается через out параметр

2. Внутри своих проектов я использую *Safe постфикс. Но использую я их только внутри класса и только для того, чтобы не писать TryGet*(out ...) конструкцию

3. В док. строке можешь в какой-нибудь remarks секции указать, что метод не выкидывает исключение
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы