Python 捕获结构上的异常

Python 捕获结构上的异常,python,fabric,Python,Fabric,我正在尝试使用fabric API(不是fab文件)创建脚本,但无法使异常正常工作。我的想法是,一旦主机出现故障,可能就运行一个rollback()函数,并编写一个关于故障主机的日志文件。问题是系统总是存在的。这是我的代码: class FabricException(Exception): pass class Main(object): def __init__(self): env.password = 'password' env.user = 'what

我正在尝试使用fabric API(不是fab文件)创建脚本,但无法使异常正常工作。我的想法是,一旦主机出现故障,可能就运行一个
rollback()
函数,并编写一个关于故障主机的日志文件。问题是系统总是存在的。这是我的代码:

class FabricException(Exception):
    pass

class Main(object):

  def __init__(self):
    env.password = 'password'
    env.user = 'whatever'
    command = 'sudo ls -la'
    failed = []
    env.warn_only = True
    env.abort_exeption = FabricException

    def runCommand(command):
        try:
            result = run(command)
        except FabricExeption:
            print env.host + "failed"
            failed.append = env.host

    execute(runCommand, command=command, hosts=hosts)
    disconnect_all()

if __name__ =="__main__":
    main = Main()

如果您所做的只是记录此故障,为什么不使用上下文管理器,并让代码块仅发出警告。使用以下任一/两种设置:
env.warn\u only
env.skip\u bad\u hosts

参考文献:


您知道,这段代码所做的一切就是用一个非常奇怪的主体创建类
FabriceException
——我刚刚编辑过。由于某些原因,当尝试添加主类时,会得到一些有趣的格式。谢谢你