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

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

2
Хто повинен читати Exception.Message, якщо він є?
Створюючи винятки, чи слід писати повідомлення, які повинен розуміти користувач або розробник? Хто насправді повинен бути читачем повідомлень про виключення? Я вважаю, що повідомлення про винятки зовсім не корисні, і мені завжди важко їх писати. Згідно з умовами, тип винятку вже повинен нам повідомити, чому щось не працювало, а власні …

4
Закидання винятку всередину нарешті
Аналізатори статичного коду, такі як Fortify, "скаржаться", коли виняток може бути кинутий всередині finallyблоку, кажучи про це Using a throw statement inside a finally block breaks the logical progression through the try-catch-finally. Зазвичай я з цим згоден. Але останнім часом я натрапив на цей код: SomeFileWriter writer = null; try …

10
Параметр для контролю, чи потрібно викидати виняток чи повертати null - хороша практика?
Я часто стикаюся з методами / функціями, які мають додатковий булевий параметр, який контролює, чи виняток викинуто на помилку, чи нуль повертається. Вже є дискусії про те, який із них є кращим вибором у такому випадку, тому не будемо тут зосереджуватися на цьому. Див., Наприклад, повернення магічного значення, викидання виключення …
24 exceptions 

1
Чому Java виходить з успіхом після невдалого винятку?
Щоразу, коли програма Perl, Python, C ++ або Tcl зупиняється, за винятком необробленого винятку, ці мовні режими дбають про реєстрацію ненульового коду виходу для цього процесу. Навіть програми на основі Eclipse повертають 1, якщо вони не вдаються під час запуску. Програми, які виконуються за стандартом java.exe, щасливо повертають нуль незалежно …
24 java  exceptions 

3
Чому варіант / можливо вважається хорошою ідеєю, а перевірені винятки - ні?
Деякі мови програмування, наприклад, Scala, мають поняття Optionтипів (які також називаються Maybe), які можуть містити значення чи ні. З того, що я читав про них, вони широко вважаються чудовим способом вирішення цього питання, ніж nullтому, що вони явно змушують програміста розглянути випадки, коли може не бути значення, а не просто …
23 exceptions 

5
Функція повертає true / false порівняно з void при успіху та викиданні винятку при відмові
Я будую API, функцію, яка завантажує файл. Ця функція не поверне нічого / недійсним, якщо файл завантажено правильно та викине виняток, коли виникла якась проблема. Чому виняток, а не просто хибний? Тому що всередині винятку я можу вказати причину збою (відсутність з'єднання, відсутні файлове ім'я, неправильний пароль, відсутність опису файлу …

2
Хто розробляв винятки?
Звідки взялися винятки та обробка виключень? Мені подобається, як .NET використовує це, мені подобається, як C ++ підтримує його (але, на жаль, бібліотеки використовують зворотний код або замість нього написано на C). Я знаю його стандарт майже на всіх нових мовах, але хто створив його першим або звідки він? Чи …

3
Як уникнути неприємних винятків?
Читання статті Еріка Ліпперта про винятки, безумовно, було відкриття очей щодо того, як я повинен підходити до винятків як як виробника, так і як споживача. Однак я все ще намагаюся визначити керівництво щодо того, як уникнути неприємних винятків. Конкретно: Припустимо , у вас є метод Save , який може потерпіти …
21 exceptions 

13
Чому нульові посилання уникаються під час викидання винятків?
Я не зовсім розумію послідовне базування нульових посилань деякими людьми мови програмування. Що в них такого поганого? Якщо я попрошу прочитати доступ до файлу, який не існує, я абсолютно радий отримати виняток або нульову посилання, і все ж винятки вважаються хорошими, але нульові посилання вважаються поганими. Які міркування за цим?

9
Як навчити поводженню з винятками для нових програмістів? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 4 роки тому . Як ви навчаєтеся обробці винятків програмістам. Усі інші речі викладаються легко - Структури даних, …

6
Ефективне використання блоку спробувати / ловити?
Чи слід використовувати блоки лову для написання логіки, тобто керування рухом потоку тощо? Або просто за викидання винятків? Чи впливає це на ефективність чи ремонтопридатність коду? Які побічні ефекти (якщо такі є) логіки написання в блоці лову? Редагувати: Я бачив клас Java SDK, в якому вони записали логіку всередині блоку …

4
Коли і як слід використовувати винятки?
Установка У мене часто виникають проблеми з визначенням, коли і як використовувати винятки. Розглянемо простий приклад: припустимо, я перебираю веб-сторінку, скажімо, " http://www.abevigoda.com/ ", щоб визначити, чи Abe Vigoda ще живий. Для цього все, що нам потрібно зробити, - це завантажити сторінку та шукати рази, коли з’явиться фраза «Abe Vigoda». …

2
Що таке «велика кількість» винятків, які можна застосувати для моєї бібліотеки?
Мені завжди було цікаво, скільки різних класів виключень я повинен реалізовувати та кидати для різних частин свого програмного забезпечення. Моя конкретна розробка зазвичай пов'язана з C ++ / C # / Java, але я вважаю, що це питання для всіх мов. Я хочу зрозуміти, що таке велика кількість різних винятків, …

5
Чи викидаєте аргументексцепцію або аргументовану думку про приватні методи?
Я щойно переглядав якийсь код, який я написав деякий час назад, і я бачу, що у мене є пара приватних методів, які кидають аргументи nullexceptions та / або argumentexceptions, якщо є проблеми з параметрами методів. Я думаю, моє обгрунтування полягає в тому, що це допомагає в майбутньому перевірити додаток, якщо …
20 exceptions 

3
Як слід надати додаткову інформацію про виняток?
Щоразу, коли мені потрібно надати додаткову інформацію про виняток, мені цікаво, який спосіб насправді є правильним . Заради цього питання я написав приклад. Припустимо, існує клас, в якому ми хочемо оновити Abbreviationвластивість. З точки зору SOLID, це може бути не ідеальним, але навіть якби ми пройшли метод робітника через DI …
20 c#  exceptions 

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