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

Вопросы, связанные с обработкой ошибок и исключений. Согласно Википедии, обработка исключений - это процесс реагирования на возникновение во время вычислений исключений - аномальных или исключительных событий, требующих специальной обработки - часто изменяющих нормальный ход выполнения программы. Это обеспечивается специализированными конструкциями языка программирования или механизмами компьютерного оборудования.

11
Должен ли REST API возвращать 500 Internal Server Error, чтобы указать, что запрос ссылается на несуществующий объект?
Я работаю с REST API, который находится на сервере, который обрабатывает данные для множества устройств IoT. Моя задача - выполнить запрос к серверу с помощью API для сбора конкретной информации о производительности указанных устройств. В одном случае я получаю список доступных устройств и их соответствующие идентификаторы, а затем опрашиваю сервер …

6
Сколько информации об ошибке должно быть показано пользователю?
Приложения всегда могут выдавать ошибки. Если такая ошибка возникает, пользователь должен быть уведомлен, потому что то, что он попросил сделать приложение, не удалось. Однако сколько информации должно быть предоставлено пользователю? Я думаю, что большинство из нас согласны не показывать трассировку стека ( должна ли трассировка стека быть в сообщении об …

15
Аргументы за или против использования Try / Catch в качестве логических операторов [закрыто]
Я только что обнаружил прекрасный код в приложении нашей компании, в котором в качестве логических операторов используются блоки Try-Catch. Это означает: «создайте некоторый код, если при этом выдается эта ошибка, сделайте этот код, но если при этом выдается эта ошибка, сделайте вместо этого эту третью вещь». Он использует «И наконец» …

7
Аргументы против подавления ошибок
Я нашел такой код в одном из наших проектов: SomeClass QueryServer(string args) { try { return SomeClass.Parse(_server.Query(args)); } catch (Exception) { return null; } } Насколько я понимаю, подавление ошибок, подобных этой, является плохой практикой, поскольку она уничтожает полезную информацию из исключения исходного сервера и заставляет код продолжаться, когда он …

9
Можно ли написать слишком много утверждений?
Я большой поклонник написания assertпроверок в коде C ++ как способа отлавливать случаи во время разработки, которые не могут произойти, но происходят из-за логических ошибок в моей программе. Это хорошая практика в целом. Тем не менее, я заметил, что некоторые функции, которые я пишу (которые являются частью сложного класса), имеют …

3
Является ли адрес 0000000C специальным адресом?
При программировании иногда что-то ломается. Вы ошиблись, и ваша программа пытается прочитать не с того адреса. Одна вещь, которая выделяет меня, что часто эти исключения похожи на: Access violation at address 012D37BC in module 'myprog.exe'. Read of address 0000000C. Теперь я вижу много журналов ошибок, и что мне выделяется: 0000000C. …

7
Можно ли использовать исключения в качестве инструментов для раннего выявления ошибок?
Я использую исключения, чтобы поймать проблемы рано. Например: public int getAverageAge(Person p1, Person p2){ if(p1 == null || p2 == null) throw new IllegalArgumentException("One or more of input persons is null"). return (p1.getAge() + p2.getAge()) / 2; } Моя программа никогда не должна переходить nullв эту функцию. Я никогда не …

20
Как вы решаете действительно странные ошибки, которые ставят вас в тупик более 10 часов? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

6
нулевые указатели против шаблона нулевого объекта
Атрибуция: Это выросло из связанного вопроса P.SE Мой опыт работы в C / C ++, но я много работал на Java и в настоящее время пишу на C #. Из-за моего C-фона проверка пройденных и возвращенных указателей является подержанной, но я признаю, что это искажает мою точку зрения. Недавно я …

4
Обработка исключений в функциональном стиле
Мне сказали, что в функциональном программировании нельзя бросать и / или наблюдать исключения. Вместо этого ошибочный расчет должен оцениваться как нижнее значение. В Python (или других языках, которые не полностью поддерживают функциональное программирование) можно возвращать None(или другую альтернативу, рассматриваемую как нижнее значение, хотя Noneи не строго соблюдающее определение), когда что-то …

3
В C #, почему переменные, объявленные внутри блока try, ограничены в области видимости?
Я хочу добавить обработку ошибок в: var firstVariable = 1; var secondVariable = firstVariable; Ниже не будет компилироваться: try { var firstVariable = 1; } catch {} try { var secondVariable = firstVariable; } catch {} Почему блок try catch должен влиять на область видимости переменных, как это делают другие …

2
Самый чистый способ сообщить об ошибках в Haskell
Я работаю над изучением Haskell, и я столкнулся с тремя различными способами устранения ошибок в функциях, которые я пишу: Я могу просто написать error "Some error message.", что выдает исключение. Я могу вернуть свою функцию Maybe SomeType, где я могу или не могу вернуть то, что хотел бы вернуть. Я …

3
Как обрабатывать ошибки после проверки в команде (DDD + CQRS)
Например, когда вы отправляете форму регистрации, вы должны подтвердить Domain Model( WriteModelв CQRS), что она находится в действительном состоянии (например, синтаксис адреса электронной почты, возраст и т. Д.). Затем вы создаете Commandи отправляете его Command Bus. Я понимаю, что Команды не должны ничего возвращать. Итак, как вы справляетесь с ошибкой …

2
Многоуровневая архитектура: где я должен реализовать регистрацию ошибок \ обработку?
В настоящее время я занимаюсь рефакторингом большой подсистемы с многоуровневой архитектурой и изо всех сил стараюсь разработать эффективную стратегию регистрации и обработки ошибок. Допустим, моя архитектура состоит из следующих трех слоев: Открытый интерфейс (IE контроллер MVC) Уровень домена Уровень доступа к данным Мой источник путаницы - то, где я должен …

3
Моя функция проверки значения должна возвращать как логическое значение, так и сообщение
У меня есть функция проверки значения, что-то очень похожее на функцию проверки номера кредитной карты, которая передается в строке и должна проверить, что значение имеет правильный формат. Если это правильный формат, он должен вернуть true. Если это неправильный формат, он должен вернуть false, а также сообщить нам, что не так …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.