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

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

9
Чи слід приймати порожні колекції у своїх методах, які повторюють їх?
У мене є метод, коли вся логіка виконується всередині циклу foreach, який переходить через параметр методу: public IEnumerable<TransformedNode> TransformNodes(IEnumerable<Node> nodes) { foreach(var node in nodes) { // yadda yadda yadda yield return transformedNode; } } У цьому випадку надсилання порожньої колекції призводить до порожньої колекції, але мені цікаво, чи це …

11
Чи існують випадки реального життя для C ++ без винятку? [зачинено]
В Коли використовувати C над C ++ та C ++ над C? є заявка wrt. для виключення розміру коду / C ++: Джері відповідає (серед інших пунктів): (...) Створювати справді крихітні виконувані файли за допомогою C ++ важче. Для дійсно невеликих систем ви рідко пишете багато коду, а додатковий (...) …
40 c++  exceptions 

7
Чому "посилання на об'єкт не встановлено на екземпляр об'єкта" не каже нам, який об'єкт?
Ми запускаємо систему, і ми іноді отримуємо відомий виняток NullReferenceExceptionіз повідомлення Object reference not set to an instance of an object. Однак у методі, де у нас майже 20 об’єктів, журнал, який каже, що об’єкт є нульовим, насправді зовсім не корисний. Це як сказати вам, коли ви є агентом безпеки …

4
Використовувати твердження проти викидання винятків?
Часто, коли я пишу функції, я хочу переконатися, що введення в нього є дійсним, щоб виявити такі помилки якомога раніше (я вважаю, що це називається передумовами). Коли умова провалюється, я завжди кидав виняток. Але я починаю сумніватися, чи це найкраща практика, і якщо ні, то твердження було б більш доречним. …



3
Чи умовно підняти NotImplementedError для методів, реалізація яких триває, але не планується бути абстрактним?
Мені подобається підняти NotImplementedErrorбудь-який метод, який я хочу впровадити, але де я ще не надумав це зробити. Можливо, я вже маю часткову реалізацію, але передбачте її, raise NotImplementedError()бо мені це ще не подобається. З іншого боку, я також люблю дотримуватися конвенцій, тому що це полегшить іншим людям збереження мого коду, …

5
Як я можу створювати та застосовувати контракти за винятками?
Я намагаюся переконати свою команду в тому, щоб дозволити використовувати винятки в C ++, а не повертати bool isSuccessfulабо enum з кодом помилки. Однак я не можу протистояти цій критиці його. Розглянемо цю бібліотеку: class OpenFileException() : public std::runtime_error { } void B(); void C(); /** Does blah and blah. …
33 c++  exceptions 

8
Чи кидання тут виключення є антидіаграмою?
Я просто обговорював вибір дизайну після огляду коду. Цікаво, що ваша думка. Є цей Preferencesклас, який є відрізком для пар ключ-значення. Нульові значення є законними (це важливо). Ми очікуємо, що певні значення ще не збережені, і ми хочемо обробляти ці випадки автоматично, ініціалізуючи їх із заздалегідь заданим значенням за замовчуванням, …

3
Помилка обробки міркувань
Проблема: З давнього часу я переживаю за exceptionsмеханізм, бо відчуваю, що він насправді не вирішує те, що повинен. СТВЕРДЖЕННЯ: Поза цією темою тривають дебати, і більшість з них намагаються порівняти exceptionsпорівняно з поверненням коду помилки. Це, безумовно, не тут тема. Намагаючись визначити помилку, я погодився б із CppCoreGuidelines від Bjarne …

5
Чи використання пункту нарешті для роботи після повернення поганого стилю / небезпечно?
Як частина написання Iterator, я опинився, коли я написав наступний фрагмент коду (зняття помилок з обробки) public T next() { try { return next; } finally { next = fetcher.fetchNext(next); } } знайти його трохи легше, ніж читати public T next() { T tmp = next; next = fetcher.fetchNext(next); return …

7
Як поводитися з неушкодженими винятками? (Завершіть програму проти збереження в живих)
Яка найкраща практика, коли в настільному додатку трапляються незроблені винятки? Я думав про те, щоб показати повідомлення користувачеві, щоб він міг зв’язатися зі службою підтримки. Я б рекомендував користувачеві перезапустити додаток, але не змушувати його. Подібно до того, що тут обговорюється: ux.stackexchange.com - Який найкращий спосіб обробити несподівані помилки програми? …

7
Чи повинна програма C ++ охоплювати всі винятки та не допускати, щоб винятки перекинулися на межі main ()?
Колись мені порадили, що програма C ++ повинна врешті-решт охопити всі винятки. В той час міркування полягали в тому, що програми, які дозволяють виняткам вибухати поза межами main()дивного стану зомбі. Мені це було сказано кілька років тому, і за ретроспективою я вважаю, що спостережуване явище було пов’язане з тривалим генеруванням …
29 c++  exceptions 

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на цю функцію. Я ніколи цього …

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

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