Вопросы с тегом «exception-handling»

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

8
Лучше «попробовать» что-нибудь и поймать исключение или проверить, если возможно сначала избежать исключения?
Должен ли я проверить ifчто-то действительно или просто tryсделать это и поймать исключение? Есть ли надежная документация о том, что предпочтителен один из способов? Является ли один способ более питоническим ? Например, я должен: if len(my_list) >= 4: x = my_list[3] else: x = 'NO_ABC' Или: try: x = my_list[3] …



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> Желаемый результат: 0 NameError …

2
Почему UnhandledExceptionEventArgs.ExceptionObject является объектом, а не исключением?
Почему UnhandledExceptionEventArgs.ExceptionObjectобъект, а не объект Exception? Я прикрепляюсь к AppDomain.UnhandledException. Я хотел бы, чтобы бросить UnhandledExceptionEventArgs.ExceptionObjectна Exceptionи interogate его. И с учетом этого будет ли оно когда-нибудь нулевым? Документация MSDN не особо полезна. Получает объект необработанного исключения.

6
Всегда ли "finally" выполняется в Python?
Гарантируется ли, что для любого возможного блока try-finally в 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
Обработка исключений Spring Resttemplate
Ниже приведен фрагмент кода; в основном, я пытаюсь распространить исключение, когда код ошибки отличается от 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 Internal Server Error …

8
Как выбросить std :: exceptions с переменными сообщениями?
Это пример того, что я часто делаю, когда хочу добавить некоторую информацию к исключению: std::stringstream errMsg; errMsg << "Could not load config file '" << configfile << "'"; throw std::exception(errMsg.str().c_str()); Есть способ сделать это лучше?

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: исключения vs ошибки?
Может быть, я пропустил это где-то в руководстве по PHP, но в чем именно разница между ошибкой и исключением? Единственное различие, которое я вижу, заключается в том, что ошибки и исключения обрабатываются по-разному. Но что вызывает исключение и что вызывает ошибку?


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

12
Разрыв Visual Studio 2015 на необработанных исключениях не работает
В Visual Studio раньше был специальный флажок для «Прервать необработанное исключение». В 2015 году это было удалено (или перемещено куда-то, я не могу его найти). Так что теперь мои преобразованные проекты больше не ломаются, если я не могу предоставить обработчик исключений на уровне пользователя. Я не хочу останавливаться на всех …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.