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

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

8
Краще щось "спробувати" і зловити виняток або тестувати, чи можливо спочатку уникнути виключення?
Чи слід перевірити ifщось дійсне або просто tryзробити це і зробити виняток? Чи є якась обґрунтована документація, яка говорить про те, що кращим є один із способів? Чи один із способів більш пітонічний ? Наприклад, чи слід: if len(my_list) >= 4: x = my_list[3] else: x = 'NO_ABC' Або: try: …



5
Як зберегти значення traceback / sys.exc_info () у змінній?
Я хочу зберегти ім’я помилки та дані про зворотний зворот у змінну. Ось моя спроба. import sys try: try: print x except Exception, ex: raise NameError except Exception, er: print "0", sys.exc_info()[0] print "1", sys.exc_info()[1] print "2", sys.exc_info()[2] Вихід: 0 <type 'exceptions.NameError'> 1 2 <traceback object at 0xbd5fc8> Бажаний вихід: …

2
Чому UnhandledExceptionEventArgs.ExceptionObject є об’єктом, а не винятком?
Чому UnhandledExceptionEventArgs.ExceptionObjectоб’єкт, а не анкет Exception? Я долучаюсь до AppDomain.UnhandledException. Я хотів би UnhandledExceptionEventArgs.ExceptionObjectпередати його Exceptionта інтерогатизувати його. І зважаючи на це, чи буде це колись нульовим? Документація MSDN не дуже корисна. Отримує необроблений об'єкт виключення.

6
Чи "нарешті" завжди виконується в Python?
Чи гарантується будь-який можливий блок спробу в остаточному підсумку в Python, що finallyблок завжди буде виконуватися? Наприклад, скажімо, я повертаюсь у exceptблоці: try: 1/0 except ZeroDivisionError: return finally: print("Does this code run?") А може, я знову піднімаю Exception: try: 1/0 except ZeroDivisionError: raise finally: print("What about this code?") Тестування показує, …

10
Обробка виключень з весняного реструктуризації
Нижче - фрагмент коду; в основному, я намагаюся поширити виняток, коли код помилки - це щось інше, ніж 200. ResponseEntity<Object> response = restTemplate.exchange(url.toString().replace("{version}", version), HttpMethod.POST, entity, Object.class); if(response.getStatusCode().value()!= 200){ logger.debug("Encountered Error while Calling API"); throw new ApplicationException(); } Однак у випадку 500 відповіді від сервера я отримую виняток org.springframework.web.client.HttpServerErrorException: 500 …

5
Як отримати назву винятку, що потрапив у Python?
Як я можу отримати ім'я виключення, яке було піднято в Python? наприклад, try: foo = bar except Exception as exception: name_of_exception = ??? assert name_of_exception == 'NameError' print "Failed with exception [%s]" % name_of_exception Наприклад, я вловлю декілька (або всі) винятку і хочу надрукувати ім'я виключення у повідомленні про помилку.


16
Найкраща практика поводження з винятками у програмі Windows Forms?
Наразі я переглядаю свою першу заявку на Windows Forms. Зараз я прочитав декілька книг C #, тому порівняно добре розумію, які мовні особливості C # має справу з винятками. Вони всі цілком теоретичні, однак, у мене поки що немає почуття, як перетворити основні поняття в хорошу модель обробки винятків у …

12
PHP: винятки проти помилок?
Можливо, я його десь пропускаю в керівництві PHP, але в чому саме різниця між помилкою та винятком? Єдина відмінність, яку я бачу, полягає в тому, що помилки та винятки обробляються по-різному. Але що викликає виняток і що викликає помилку?



12
Перерва Visual Studio 2015 на не оброблені винятки не працює
Visual studio використовував специфічний прапорець "Перерва на виключення без обробки". У 2015 році це було видалено (або переміщено кудись, я не можу його знайти). Тож тепер мої перетворені проекти більше не ламаються, якщо я не надам обробника винятків на рівні користувача. Я не хочу перешкоджати всім "кинутим виняткам", тому що …

7
Потрібно обробити невиконаний виняток та надіслати файл журналу
ОНОВЛЕННЯ: Будь ласка, див. "Прийняте" рішення нижче Коли мій додаток створює необроблений виняток, а не просто його завершення, я спершу даю користувачеві можливість надіслати файл журналу. Я розумію, що робити більше роботи після отримання випадкового винятку ризиковано, але, ей, найгірше, що додаток закінчується збоєм, і файл журналу не надсилається. Це …

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