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

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


28
Ловити кілька винятків одночасно?
Не рекомендується просто ловити System.Exception. Натомість слід виловлювати лише "відомі" винятки. Зараз це іноді призводить до непотрібного повторюваного коду, наприклад: try { WebId = new Guid(queryString["web"]); } catch (FormatException) { WebId = Guid.Empty; } catch (OverflowException) { WebId = Guid.Empty; } Цікаво: Чи є спосіб спіймати обидва винятки і лише …


13
Як надрукувати повний трекбек без зупинки програми?
Я пишу програму, яка аналізує 10 веб-сайтів, розміщує файли даних, зберігає файли, а потім аналізує їх, щоб зробити дані, які можна легко використовувати в бібліотеці NumPy. Є тонни помилок цього файл зустрічає через погані посилання, погано сформований XML, відсутні записи та інші речі , які я ще категоризувати. Я спочатку …


10
Обробка винятків з найкращих практик Node.js
Я тільки почав випробовувати node.js кілька днів тому. Я зрозумів, що Вузол припиняється всякий раз, коли в моїй програмі є необроблений виняток. Це відрізняється від звичайного контейнера сервера, до якого я потрапив, де тільки Worker Thread гине, коли трапляються необроблені винятки, і контейнер все ще зможе отримати запит. Це викликає …


17
Нерозбірливий ChuckNorrisException
Чи можливо побудувати фрагмент коду на Java, який зробив би гіпотетичним java.lang.ChuckNorrisExceptionнерозбірливим? Думки, які прийшли вам на думку, використовують, наприклад, перехоплювачі або орієнтоване на аспекти програмування .

20
Python try-else
Для чого передбачається використання необов'язкового elseпункту tryтвердження?

17
Навіщо ловити та повторно викидати виняток у C #?
Я переглядаю статтю C # - Об'єкт передачі даних про серіалізаційні DTO. У статтю включений цей фрагмент коду: public static string SerializeDTO(DTO dto) { try { XmlSerializer xmlSer = new XmlSerializer(dto.GetType()); StringWriter sWriter = new StringWriter(); xmlSer.Serialize(sWriter, dto); return sWriter.ToString(); } catch(Exception ex) { throw ex; } } Інша частина …

7
Початок, порятунок та забезпечення безпеки в Ruby?
Нещодавно я почав програмувати в Ruby, і дивлюсь на обробку винятків. Мені було цікаво, чи ensureбув еквівалент Ruby finallyв C #? Чи повинен я: file = File.open("myFile.txt", "w") begin file << "#{content} \n" rescue #handle the error here ensure file.close unless file.nil? end чи я повинен це робити? #store the …

8
Коли я дійсно повинен використовувати noexcept?
noexceptКлючове слово може бути відповідним чином застосовано до багатьох сигнатури функцій, але я НЕ впевнений , про те , коли слід розглянути можливість використання його на практиці. Виходячи з того, що я читав до цих пір, додавання в останню хвилину, noexceptздається, стосується деяких важливих питань, які виникають, коли конструктори руху …

11
Як записати помилку Python з інформацією про налагодження?
Я друкую повідомлення про виключення Python у файл журналу за допомогою logging.error: import logging try: 1/0 except ZeroDivisionError as e: logging.error(e) # ERROR:root:division by zero Чи можна надрукувати більш детальну інформацію про виняток та код, який його створив, ніж просто рядок виключення? Такі речі, як номери ліній або сліди стека, …


10
Чи є хорошою практикою використовувати try-крім-ще в Python?
Час від часу в Python я бачу блок: try: try_this(whatever) except SomeException as exception: #Handle exception else: return something У чому причина спроби, окрім іншого, існувати? Мені не подобається таке програмування, оскільки воно використовує винятки для контролю потоку. Однак, якщо він включений до мови, це має бути вагомою причиною, чи …

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