2

我有一个与 PHP 应用程序通信的 python 应用程序。现在,我在两边都定义了错误代码,以便它们匹配(即我们可以检测 PHP 中的 python 端故障并做出相应的反应)。

我的问题来自 python 是一种解释语言,原因如下:如果代码有语法问题,那么解释器将返回错误代码。但是这些解释器错误代码将与应用程序错误无法区分。

我不负责 python 代码,但我被要求能够检测最终的 python 解释器故障,以便我可以使用 PHP 通知最终用户。

因此,我需要在出现故障时找到解释器返回码的列表。我在谷歌、python 文档和手册页上都找不到这些信息。

有人知道/知道在哪里可以找到这些信息吗?(另外,如果您对如何解决这个问题有任何其他想法,我很乐意听到他们)

提前致谢 !

4

2 回答 2

2

最好的解决方案是设置一个始终以特定代码退出的异常挂钩。

import sys
def excepthook(type, value, traceback):
    sys.exit(X) # X is your exit code
sys.excepthook = excepthook

语法错误应该是无关紧要的——你为什么要在生产中放置一个包含语法错误的脚本?

1但无论如何,如果发生未捕获的异常并且0一切正常,Python 总是以非零代码退出(显然总是)。

于 2012-05-09T12:23:17.697 回答
1

我相信这可能是你需要的。它将错误代码映射到它们各自的字符串消息。

http://docs.python.org/library/errno.html

具体来说:

http://docs.python.org/library/os.html#os.strerror

于 2012-05-09T12:22:56.007 回答