Python 因逻辑错误而退出

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

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

我的需求: 像 os 一样退出仅包含错误代码,但需要像 sys 那样更干净的退出.

最佳答案

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

This exception is raised by the sys.exit() function. When it is not handled, the Python interpreter exits; no stack traceback is printed.

我的粗体强调。

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

关于Python 因逻辑错误而退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38140196/

相关文章:

python-2.7 - 卡住 Pandas 数据框中的 header

java - 基于 Jax Ws 的 Projekt : Error:package javax. jws 不存在;程序找不到符号

javascript - 在 JavaScript 中抛出多个异常

php - 执行 mySql 的 php 循环中的错误处理

python - 修改前序树遍历为Python结构

python - 从 pandas 数据框中随机删除多行,但出现异常

python - 类型错误 : bufsize must be an integer?

Python将列表中的字符串转换为数字

python - 基本 friend 时间轴算法?

python - 如何阻止 Python parse_qs 将单个值解析为列表?