Запитання з тегом «exceptions»

Виняток - це явище в процесі подання заявки, яке вимагає відхилення від нормального потоку програми.

9
Чому багато повідомлень про виключення не містять корисних даних?
Здається, існує певна угода, що повідомлення про виключення повинні містити корисні деталі . Чому так, що багато поширених винятків із компонентів системи не містять корисних деталей? Кілька прикладів: .NET Listдоступ індексу ArgumentOutOfRangeExceptionніяк НЕ каже мені значення індексу , який був випробуваним і був недійсним, і не говорить мені допустимий діапазон. …
220 c#  c++  exceptions 

22
Чи нульові посилання справді погані?
Я чув, як говорилося, що включення нульових посилань у мови програмування є "помилкою в мільярд доларів". Але чому? Звичайно, вони можуть викликати NullReferenceExceptions, але що робити? Будь-який елемент мови може бути джерелом помилок при неправильному використанні. А яка альтернатива? Я думаю, замість того, щоб сказати це: Customer c = Customer.GetByLastName("Goodman"); …

9
Чи є винятки як контрольний потік серйозним антипаттером? Якщо так, то чому?
Ще в кінці 90-х я досить багато працював з кодовою базою, яка використовувала винятки як контроль потоку. Він реалізував машину з кінцевим станом для управління програмами телефонії. Останнім часом мені нагадують ті дні, бо я робив веб-додатки MVC. Вони обоє мають Controllerрішення, куди йти далі, і надаватимуть дані в логіку …

13
Виняток проти порожнього результату встановлюється, коли входи технічно достовірні, але незадовільні
Я розробляю бібліотеку, призначену для публічного випуску. Він містить різні методи роботи з наборами об'єктів - генерування, перевірка, розділення та проектування наборів у нові форми. У випадку, якщо це доречно, це бібліотека класів C #, що містить розширення у стилі LINQ IEnumerable, випускається як пакет NuGet. Деяким із методів цієї …

7
Як написати гарне повідомлення про виключення
Наразі я переглядаю код, і одна із речей, яку я зауважую, - це кількість винятків, коли повідомлення про виняток просто повторює місце виникнення виключення. напр throw new Exception("BulletListControl: CreateChildControls failed."); Усі три пункти цього повідомлення я можу опрацювати з решти винятків. Я знаю клас та метод із сліду стека і …
101 exceptions 

12
Мені сказали, що Винятки слід застосовувати лише у виняткових випадках. Як я можу дізнатися, чи випадок мій винятковий?
Мій конкретний випадок тут полягає в тому, що користувач може передавати рядок у додаток, програма аналізує його і присвоює структурованим об'єктам. Іноді користувач може набрати щось недійсне. Наприклад, їх дані можуть описувати людину, але вони можуть сказати, що їх вік "яблучний". Правильна поведінка в такому випадку - це повернути транзакцію …

9
Перевірити обробку перших проти виключень?
Я працюю над книгою "Head First Python" (це мою мову вивчити в цьому році), і я потрапив до розділу, де вони сперечаються про дві методи коду: Перевірка обробки перших проти винятків. Ось зразок коду Python: # Checking First for eachLine in open("../../data/sketch.txt"): if eachLine.find(":") != -1: (role, lineSpoken) = eachLine.split(":",1) …

6
Чи краще використовувати assrt або IllegalArgumentException для необхідних параметрів методу?
На Java, що більше рекомендується, і чому? Обидва типи будуть кидати винятки, тому в цьому відношенні поводження з ними однакове. assertтрохи коротше, але я не впевнений, наскільки це важливо. public void doStuff(Object obj) { assert obj != null; ... } проти public void doStuff(Object obj) { if (obj == null) …

8
Повернути магічне значення, викинути виняток або повернути помилкове на помилку?
Іноді мені доводиться писати метод або властивість для бібліотеки класів, на яку не є винятковою не справжня відповідь, а невдача. Щось неможливо визначити, недоступне, не знайдене, наразі неможливо або більше даних немає. Я думаю, що для такої порівняно невиключної ситуації є три можливі рішення, що свідчать про збій у C …

10
Винятки, коди помилок та дискриміновані об'єднання
Нещодавно я почав роботу з програмування на C #, але в мене є досить багато досвіду в Haskell. Але я розумію, що C # - це об'єктно-орієнтована мова, я не хочу притискати круглий кілок до квадратного отвору. Я читав статтю " Викидання викидів від Microsoft", де зазначено: НЕ повертайте коди …
80 c#  exceptions 

8
Навіщо використовувати спробувати… нарешті, без застереження?
Класичний спосіб програмування - с try ... catch. Коли доцільно використовувати tryбез catch? У Python наступне виглядає законним і може мати сенс: try: #do work finally: #do something unconditional Однак код нічого не зробив catch. Аналогічно можна подумати і на Яві: try { //for example try to get a database …

14
Чому ігнорується арифметичний перелив?
Ви коли-небудь намагалися підбити підсумки всіх чисел від 1 до 2 000 000 улюбленою мовою програмування? Результат легко обчислити вручну: 2 000 000 000 000, що приблизно в 900 разів перевищує максимальне значення непідписаного 32-бітного цілого числа. C # друкує -1453759936- негативне значення! І я думаю, що Java робить те …


12
Маючи прапор, щоб вказати, чи варто нам кидати помилки
Нещодавно я почав працювати в місці з деякими значно старшими розробниками (близько 50+ років). Вони працювали над критичними програмами, що стосуються авіації, де система не могла знизитися. Як результат, старший програміст прагне кодувати таким чином. Він схильний вводити бульові елементи в об’єкти, щоб вказати, чи слід викинути виняток чи ні. …


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