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

Обробка винятків - це процес реагування на виникнення аномальних чи виняткових умов, що вимагають спеціальної обробки - часто змінюючи нормальний потік виконання програми.

9
Поводження з помилками - якщо програма виходить з ладу або помилково їх ігнорує
Я пишу просту маленьку програму для передачі MIDI по мережі. Я знаю, що програма зіткнеться з проблемами передачі та / або іншими винятками, які я не зможу передбачити. Для обробки винятків я бачу два підходи. Чи потрібно написати програму, щоб вона: не вдається з ударом, коли щось піде не так …

10
Чому б не використовувати слово помилка замість винятку? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . Якщо ми називаємо винятки помилками, то чому б просто не називати її помилкою в …

3
Рішення про неперевірені винятки в Scala
Як програміст Java, я завжди критично ставився до Неперевірених винятків. В основному програмісти використовують його як шлях до кодування легкості, лише щоб потім створити проблеми. Також програми (хоча і неохайні) з перевіреними винятками є значно надійнішими порівняно з неперевіреними аналогами. Дивно, але в Scala немає нічого, що називається перевіреними винятками. …

2
Супер тип абстрактних винятків
Якщо кидання System.Exceptionвважається настільки поганим, чому б не булоException робили abstractв першу чергу? Таким чином, не вдасться зателефонувати: throw new Exception("Error occurred."); Це призведе до використання похідних винятків, щоб надати більш детальну інформацію про помилку, що сталася. Наприклад, коли я хочу надати власну ієрархію виключень для бібліотеки, я зазвичай оголошую …

7
Чи є в основному винятки, щоб запобігти збоїв у роботі системи?
По-друге, мені було цікаво, чи хтось знає, у чому різниця між винятками (у царині потоку управління винятками) та Винятками (наприклад, що використовується у Java). Але чи є вони в основному для захисту системи від збоїв шляхом припинення користувальницької програми?

1
Чи добре робити конструктор за замовчуванням непридатним?
Конкретно запитаючи про конструктор за замовчуванням З огляду на те, що конструктор ініціалізує всі дані для об'єкта, якщо я створю клас, який неможливо використовувати без належної ініціалізації, чи не так, що конструктор за замовчуванням марний? Поміркуйте: // A class for handling lines in a CSV file class CSV_Entry { private: …

6
альтернативи вкладеним пробним уловам для резервних копій
У мене ситуація, коли я намагаюся отримати об'єкт. Якщо пошук не вдається, у мене є кілька резервних копій, кожен з яких може вийти з ладу. Так код виглядає так: try { return repository.getElement(x); } catch (NotFoundException e) { try { return repository.getSimilarElement(x); } catch (NotFoundException e1) { try { return …

5
Обробка винятків у програмі, яку потрібно запустити 24/7
Я читав, що ми повинні виловлювати лише винятки, які можна обробити, що робить вилов базового класу винятків (C # в даному випадку) поганою ідеєю (крім інших причин). Зараз я є частиною проекту, в якому я поки що ще нічого не бачив, окрім базового винятку. Я згадував, що вважати це поганою …

3
Рекомендуйте схему / підхід до викриття / толерантності / відновлення після системних помилок, обробку винятків (наприклад, у Java, C ++, Perl, PHP)
Чи можете ви порекомендувати схему / підхід до розкриття / допуску / відновлення після системних помилок, обробку винятків (Java, C ++, Perl, PHP)? Про деякі помилки потрібно повідомити. Деякі помилки можна обробляти внутрішньо (шляхом повторного спроби або є несуттєвими (можуть ігноруватися). Як ви структуруєте код для їх лову? Але всі …

2
Як мені впоратися з відмовами реєстратора?
У кількох програмах нашої компанії ми використовуємо користувальницький реєстратор. Він досить надійний, хоча ми можемо замінити його чимось на зразок NLog у майбутньому. Одне з завдань реєстратора - реєструвати будь-які винятки, що зустрічаються в програмі. Одно з проблем, які я завжди мав, - це те, що обробка винятків у лісорубіжчику …

5
Посилення коду з можливою марною обробкою виключень
Чи є хорошою практикою застосовувати марну обробку винятків, на випадок, якщо інша частина коду не закодована правильно? Основний приклад Простий, тому я не втрачаю всіх :). Скажімо, я пишу програму, яка відображатиме інформацію про людину (ім’я, адресу тощо), дані витягуються з бази даних. Скажімо, я кодую частину інтерфейсу, а хтось …

1
Кращі практики та рекомендації щодо обробки винятків? [зачинено]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для обміну стеками програмного забезпечення. Закрито 5 років тому . Я думаю, що дві основні проблеми з моїми програмами - це моя структура / організація коду та обробка помилок. Я …

3
"Як погано" - неспоріднений код у блоці "пробую-нарешті"?
Це пов’язано із запитанням: Чи використання остаточного підрозділу для роботи після повернення поганого стилю / небезпечно? У посиланні Q, нарешті, код пов'язаний із використовуваною структурою та необхідністю попереднього вибору. Моє запитання дещо інше, і я вважаю, що він є широким для широкої аудиторії. Мій конкретний приклад - додаток для формату …

8
Які хороші способи збалансування інформаційних винятків та чистого коду?
З нашим загальнодоступним 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 {2}.", ParameterInfo.Name, ParameterInfo.ParameterType, typeof(IParameter) …

4
Цілеспрямовано збільшити винятки для використання вилову
Для типового if...elseоброблення з виключеннями обробляється чимось на зразок наступного прикладу рекомендована практика уникати дублювання коду? try { if (GetDataFromServer()) { return ProcessData(); } else { throw new Exception(); } catch(Exception ex) { return null; } замість... try { if (GetDataFromServer()) { return ProcessData(); } else { return null; } …

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