Запитання з тегом «error-handling»

Питання, пов'язані з помилками та винятками. Згідно з Вікіпедією, обробка винятків - це процес реагування на виникнення під час обчислення винятків - аномальних або виняткових подій, що потребують спеціальної обробки - часто змінюючи нормальний потік виконання програми. Він забезпечується спеціалізованими конструкціями мови програмування або апаратними механізмами комп’ютера.

11
Чи повинен REST API повертати помилку 500 внутрішнього сервера, щоб вказати, що запит посилається на об'єкт, який не існує?
Я працюю з API REST, який знаходиться на сервері, який обробляє дані для безлічі пристроїв IoT. Моє завдання - запросити сервер за допомогою API для збору конкретної інформації про продуктивність цих пристроїв. В одному випадку я отримую список доступних пристроїв та їх відповідних ідентифікаторів, а потім пізніше запитую сервер для …

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

15
Аргументи за чи проти використання Try / Catch як логічних операторів [закрито]
Я щойно відкрив чудовий код у програмі наших компаній, яка використовує блоки Try-Catch як логічні оператори. Значить, "зробіть якийсь код, якщо він видає цю помилку, зробіть цей код, але якщо це кине цю помилку, зробіть замість цього 3-ю річ". Він використовує "Нарешті" як вислів "else", який з'являється. Я знаю, що …

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

9
Чи можна написати занадто багато тверджень?
Я великий шанувальник написання assertчеків у коді C ++ як способу зафіксувати випадки під час розробки, які неможливо статися, але трапляються через помилки логіки в моїй програмі. Це взагалі хороша практика. Однак я помітив, що деякі функції, які я записую (які входять до складного класу), мають 5+ тверджень, що вважає, …

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 #, чому змінні оголошуються всередині пробного блоку обмежені в області дії?
Я хочу додати обробку помилок до: var firstVariable = 1; var secondVariable = firstVariable; Нижче не компілюється: try { var firstVariable = 1; } catch {} try { var secondVariable = firstVariable; } catch {} Чому необхідно, щоб блок спробу вловлювання впливав на область змінних, як це роблять інші блоки …

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

3
Як поводитися з помилками після валідації в команді (DDD + CQRS)
Наприклад, коли ви подаєте реєстраційну форму, ви повинні перевірити в Domain Model( WriteModelin CQRS), що вона знаходиться у дійсному стані (наприклад, синтаксис електронної адреси, вік тощо). Потім ви створюєте Commandі відправляєте його до Command Bus. Я розумію, що Команди нічого не повинні повертати. То як ви вирішите помилку далі Command …

2
Багатошарова архітектура: де я повинен реалізувати журнал помилок \ обробку?
В даний час я переробляю велику підсистему з багатошаровою архітектурою, і я намагаюся створити ефективну стратегію реєстрації помилок \ обробку. Скажімо, моя архітектура складається з наступних трьох шарів: Загальнодоступний інтерфейс (IE і контролер MVC) Шар домену Шар доступу до даних Моє джерело плутанини - це те, де мені слід застосувати …

3
Моя функція перевірки значень повинна повертати як булеве, так і повідомлення
У мене є функція перевірки цінності, щось подібне до функції перевірки номерів кредитної картки, яка передається в рядку, і потрібно перевірити, чи значення має правильний формат. Якщо це правильний формат, йому потрібно повернути true. Якщо це не правильний формат, йому потрібно повернути помилкове значення, а також повідомити нам, що не …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.