我有一个与PHP应用程序通信的python应用程序。 现在,我已经在两端定义了错误代码,因此它们匹配(即我们可以检测PHP中的python端故障并做出相应的反应)。
我的问题来自python是一种解释型语言,原因如下: 如果代码有语法问题,那么解释器将返回错误代码。 但是这些解释器错误代码与应用程序错误无法区分。
我不负责python代码,但是我被要求能够检测到最终的python解释器失败,因此我可以使用PHP通知最终用户。
因此,我需要在发生故障时找到解释器返回码的列表。 我没能在google,python doc和man page上找到这些信息。
有人知道在哪里可以找到这些信息吗? (另外,如果您对如何解决这个问题有任何其他想法,我会很高兴听到它们)
提前致谢!
答案 0 :(得分:2)
最佳解决方案是设置exception hook始终以特定代码退出。
import sys
def excepthook(type, value, traceback):
sys.exit(X) # X is your exit code
sys.excepthook = excepthook
语法错误应该是无关紧要的 - 为什么你会在生产中放入包含语法错误的脚本?
但无论如何,Python总是以非零代码(显然总是1
)退出,以防未捕获的异常,0
如果一切正常则退出。
答案 1 :(得分:1)