python有它的错误报告消息,如$!在perl

时间:2012-04-24 04:13:43

标签: python perl

我想知道python是否有错误报告消息相当于$!在perl? 任何能给我答案的人都将不胜感激。

添加了:

example% ./test
File "./test", line 7
  test1 = test.Test(dir)
  ^
SyntaxError: invalid syntax

当发生异常时,我得到了类似的东西。如果我应用try和catch块, 我可以捕获它并使用sys.exit(消息)来记录消息。但是,有没有机会 我可以获得字符串 SyntaxError:无效语法并将其放入消息

2 个答案:

答案 0 :(得分:8)

Python通常使用异常来报告错误。如果某些OS操作返回错误代码,则会引发您在try-except块中捕获的异常。对于OS操作,即OSError。 errno包含在异常实例中。

from __future__ import print_function
import os

try:
        os.stat("xxx")
except OSError as err:
        print (err)
        # The "err" object is on instance of OSError. It supports indexing, with the first element as the errno value.
        print(err[0])

输出:

[Errno 2] No such file or directory: 'xxx'
2

答案 1 :(得分:5)

据我所知,没有直接的等价物。

Python倾向于倾向于抛出异常,这使得您可以以类似的方式访问错误消息,尽管通过异常对象而不是特殊变量。