【问题标题】:Python Quit on Logical Error [duplicate]Python退出逻辑错误[重复]
【发布时间】:2016-11-03 13:23:27
【问题描述】:

在我的代码中,我试图处理一个逻辑错误。我想用错误代码退出程序,如果我执行sys.exit(1) 它会引发回溯错误,这是我不想要的。 但是,如果我这样做 os._exit(1) 它不是更清洁的出口。

我的需求: 像 os 那样退出,只使用错误代码,但需要像 sys 那样更干净的退出。

【问题讨论】:

    标签: python python-2.7 error-handling stack-trace exit


    【解决方案1】:

    使用sys.exit(1)无论如何sys.excepthook() 中的标准 Python 回溯挂钩干净地处理 SystemExit,不会打印回溯。来自SystemExit exception documentation

    此异常由sys.exit() 函数引发。不处理时,Python解释器退出; 不打印堆栈回溯

    我的大胆强调。

    如果您的程序有顶级异常处理程序,请不要捕获SystemExit。通常,您不使用笼统的 except: 语句,而是通过捕获 except Exception: 来做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-09
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      • 1970-01-01
      相关资源
      最近更新 更多