Вопросы с тегом «exception-handling»

14
альтернативы вложенным try-catch для резервных вариантов

У меня есть ситуация, когда я пытаюсь получить объект. Если поиск не удался, у меня есть несколько запасных вариантов, каждый из которых может дать сбой. Итак, код выглядит так: try { return repository.getElement(x); } catch (NotFoundException e) { try { return repository.getSimilarElement(x); }...

14
Можно ли сделать конструктор по умолчанию непригодным для использования?

В частности, спрашивая о конструкторе по умолчанию Учитывая, что конструктор инициализирует все данные для объекта, если я создаю класс, который не может быть использован без надлежащей инициализации, разве это не тот случай, когда конструктор по умолчанию бесполезен? Рассмотреть возможность: // A...

14
Обработка исключений в программе, которая должна работать 24/7

Я читал, что мы должны ловить только те исключения, которые могут быть обработаны, что делает отлов базового класса исключений (в данном случае C #) плохой идеей (помимо других причин). В настоящее время я являюсь частью проекта, в котором до сих пор мне не удалось увидеть ничего, кроме базового...

13
Рекомендовать шаблон проектирования / подход к выявлению / терпению / восстановлению после системных ошибок, обработке исключений (например, в Java, C ++, Perl, PHP)

Можете ли вы порекомендовать шаблон проектирования / подход к выявлению / переносу / восстановлению после системных ошибок, обработке исключений (Java, C ++, Perl, PHP)? О некоторых ошибках нужно сообщать. Некоторые ошибки могут быть обработаны внутри (повторной попыткой или несущественными (могут...

12
Усиление кода с возможно бесполезной обработкой исключений

Является ли хорошей практикой реализация бесполезной обработки исключений на случай, если другая часть кода не закодирована правильно? Основной пример Простой, так что я не теряю всех :). Допустим, я пишу приложение, которое будет отображать информацию о человеке (имя, адрес и т. Д.), Данные...

12
Лучшие практики или рекомендации по обработке исключений? [закрыто]

Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения стека Exchange. Закрыто 5 лет назад . Я думаю, что две основные проблемы с моими программами - это моя...

12
Как мне справиться со сбоями регистратора?

В некоторых приложениях нашей компании мы используем собственный регистратор. Он достаточно надежный, хотя в будущем мы можем заменить его чем-то вроде NLog. Одна из задач регистратора - регистрировать любые исключения, встречающиеся в приложении. Я всегда беспокоился о том, что обработка...

11
Каковы хорошие способы сбалансировать информативные исключения и чистый код?

С нашим общедоступным SDK мы стремимся давать очень информативные сообщения о том, почему возникает исключение. Например: if (interfaceInstance == null) { string errMsg = string.Format( "Construction of Action Argument: {0}, via the empty constructor worked, but type: {1} could not be cast to type...

11
«Насколько плох» несвязанный код в блоке try-catch-finally?

Это связано с Q: Является ли использование оператора finally для выполнения работы после возврата плохим стилем / опасным? В ссылочной версии Q код finally связан с используемой структурой и необходимостью предварительной выборки. Мой вопрос немного другой, и я считаю, что он уместен для широкой...

10
Умышленное повышение исключений для использования улова

if...elseЯвляется ли типичное завершение с обработкой исключений чем-то вроде следующего примера рекомендуемой практикой во избежание дублирования кода? try { if (GetDataFromServer()) { return ProcessData(); } else { throw new Exception(); } catch(Exception ex) { return null; } вместо... try { if...

9
Использование «ловли исключений» для улучшения читабельности, хорошо или плохо?

В разделе « Когда использовать исключение в Pragmatic Programmer» книга пишет, что вместо: retcode = OK; if (socket.read(name) != OK) { retcode = BAD_READ; } else { processName(name); if (socket.read(address) != OK) { retcode = BAD_READ; } else { processAddress(address); if (socket.read(telNo) !=...

9
Использование try-finally (без перехвата) против проверки состояния перечисления

Я читал совет по этому вопросу о том, как следует рассматривать исключение как можно ближе к месту его возникновения. Моя дилемма в отношении лучшей практики заключается в том, следует ли использовать try / catch / finally для возврата перечисления (или типа int, представляющего значение, 0 для...