5

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

添加:

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

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

4

2 回答 2

8

Python 通常使用异常来报告错误。如果某些操作系统操作返回错误代码,它会引发您在 try-except 块中捕获的异常。对于操作系统操作,即 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
于 2012-04-24T04:23:16.297 回答
5

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

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

于 2012-04-24T04:23:33.943 回答