Задать вопрос
@romaro

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

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

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


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

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

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

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

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

Похожие вопросы