Итак, я строю из куска инфраструктуры, которая занимается автоматически раскручивается экземпляров, настройка групп безопасности, и т.д ...Как запустить код, чтобы разрушить объект на ошибки в Python
Иногда, при прохождении процесса развития все ломается. Объект, который имеет дело со всем, выдает часть ошибки через процесс создания экземпляра или одну из бесчисленных других ошибок. Когда это случается, я в основном обременен большим количеством инфраструктуры, сидящей вокруг.
Проблема в том, что я не знаю заранее, когда/где ошибка будет выброшена. Мой вопрос заключается в том, есть ли способ запустить какой-то фрагмент кода разрыва в случае какой-либо ошибки? Например:
class Foo(object):
def __init__(self):
# set up ec2 instance
raise SomeError()
def __on_error__(self):
# tear down ec2 instances
Другим ограничением является то, что некоторые из кода срыва могут, вероятно, ошибочно, что хорошо. Обычно это происходит, когда я пытаюсь снести то, что на самом деле не получилось. В идеале что-либо в функции __on_error__
будет терпеть неудачу, но, не дожидаясь обертывания всего в цикле try/except:pass
, я не уверен, как это достичь.
Будет ли контекст немедленно запускаться, если возникает ошибка при вводе? –
@SlaterTyranus - № Контекст вводится _after_ '__enter__' возвращает. – mgilson