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

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

2760
Поймать несколько исключений в одной строке (кроме блока)

Я знаю, что я могу сделать: try: # do something that may fail except: # do this if ANYTHING goes wrong Я также могу сделать это: try: # do something that may fail except IDontLikeYouException: # say please except YouAreTooShortException: # stand on a ladder Но если я хочу сделать то же самое в двух...

2140
Поймать несколько исключений одновременно?

Не рекомендуется просто ловить System.Exception. Вместо этого должны быть обнаружены только «известные» исключения. Теперь это иногда приводит к ненужному повторяющемуся коду, например: try { WebId = new Guid(queryString["web"]); } catch (FormatException) { WebId = Guid.Empty; } catch...

781
Как распечатать полную трассировку без остановки программы?

Я пишу программу, которая анализирует 10 веб-сайтов, находит файлы данных, сохраняет файлы, а затем анализирует их, чтобы получить данные, которые можно легко использовать в библиотеке NumPy. Есть тонны ошибок этого файл встречает через плохие ссылки, плохо сформированный XML, недостающие записи и...

755
Node.js Лучшая практика обработки исключений

Я только начал пробовать node.js несколько дней назад. Я понял, что Node завершается всякий раз, когда в моей программе возникает необработанное исключение. Это отличается от обычного серверного контейнера, с которым я столкнулся, когда только рабочий поток умирает, когда возникают необработанные...

596
Неуловимый ChuckNorrisException

Можно ли построить фрагмент кода в Java , который сделал бы гипотетическую java.lang.ChuckNorrisExceptionнеуловимую? Мысли, которые пришли в голову, используют, например, перехватчики или аспектно-ориентированное программирование...

547
Начать, спасти и убедиться в 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...

509
Когда я должен действительно использовать noexcept?

noexceptКлючевое слово может быть соответствующим образом применено ко многим сигнатуры функций, но я не уверен , о том , когда следует рассмотреть возможность использования его на практике. Основываясь на том, что я прочитал, добавление в последнюю минуту, noexceptкажется, решает некоторые важные...

470
Как мне зарегистрировать ошибку Python с отладочной информацией?

Я печатаю сообщения об исключениях Python в файл журнала с logging.error: import logging try: 1/0 except ZeroDivisionError as e: logging.error(e) # ERROR:root:division by zero Можно ли напечатать более подробную информацию об исключении и коде, который его сгенерировал, чем просто строку...

440
Является ли хорошей практикой использование в Python try-else-else?

Время от времени в Python я вижу блок: try: try_this(whatever) except SomeException as exception: #Handle exception else: return something В чем причина того, что существует только попытка? Мне не нравится такой вид программирования, поскольку он использует исключения для управления потоком данных....

437
Есть ли разница между «throw» и «throw ex»?

Есть несколько постов, которые спрашивают, какая разница между этими двумя уже есть. (почему я должен даже упомянуть об этом ...) Но мой вопрос отличается от того, что я называю «throw ex» в другом богоподобном методе обработки ошибок. public class Program { public static void Main(string[] args) {...

424
Получить описание исключения и трассировку стека, вызвавшего исключение, все в виде строки

Я видел много сообщений о трассировке стека и исключениях в Python. Но не нашел то, что мне нужно. У меня есть кусок кода Python 2.7, который может вызвать исключение. Я хотел бы поймать его и присвоить строке его полное описание и трассировку стека, которая вызвала ошибку (просто все, что мы...

378
В чем разница между `throw new Error` и` throw someObject`?

Я хочу написать общий обработчик ошибок, который будет отлавливать пользовательские ошибки, специально созданные в любом экземпляре кода. Когда я сделал, throw new Error('sample')как в следующем коде try { throw new Error({'hehe':'haha'}); // throw new Error('hehe'); } catch(e) { alert(e);...