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は通常、例外を使用してエラーを報告します。一部の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
于 2012-04-24T04:23:16.297 に答える
5

私の知る限り、直接同等のものはありません。

Pythonは、代わりに例外をスローすることを好む傾向があります。これにより、特別な変数の代わりに例外オブジェクトを介してではありますが、同様の方法で後でエラーメッセージにアクセスできます。

于 2012-04-24T04:23:33.943 に答える