2016-12-05 3 views
2

Pythonで組み込みのエラーの動作と出力を編集/カスタマイズすることが可能かどうか疑問に思っています。 I型たとえば、:Pythonで組み込みのエラーメッセージを修正することは可能ですか? (もしそうなら、どう?)

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'A' is not defined. Check capitalization. 

また、私はこれを明示的にすることなく、将来のすべてのコードでは、グローバルレベルで発生する:

>>> a = 1 
>>> print A 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'A' is not defined 

をI出力が代わりになりたいです私のコードに例外が含まれています。このような変更が可能な場合は、これをPythonのソースまたはライブラリファイルレベルで行う必要があると思います。しかし、私はこれが可能であるかどうかを正確に知るためにどこを調べるべきかわからない。

私はUbuntuとOSXの両方でPython 2.7を使用していますので、どちらのシステムでも役立ちます。

(これは他のところで説明されていますが、「Pythonエラーメッセージの変更」でスレッドを検索すると、例外についてのトピックが表示されますが、これは必ずしも私の関心事ではありません。これは大変ありがたいです)

+0

@ shash678あなたが持ってきたトピックは、現在の質問には反応しません。 – KromviellBlack

+0

あなたはおそらくソースコードを使いこなす必要があります。彼らはおそらくC言語であると思われますので、Pythonを再構築する必要があります。 Pythonソースに戸惑うことは、あなたが何をやっているかを本当に知っていない限り、悪い考えです。 –

+0

ソースコードにロジックを追加する必要があります。たとえば。 aとAの両方が定義されていないときにAを印刷しても、同じエラーが発生します。編集する場所がわからないという事実は、CPythonコンパイラを最初に学習する必要があることと、例外をどのように起動してから始めることができるかを示しています。 – MYGz

答えて

1

はい!あなたが望むものを正確に得る方法があります! traceback.pyは、コード内のエラーを検出するプログラムです。次に、何が起こったのかを説明します(エラーメッセージが表示されます)。 このファイルは、ライブラリのpython用フォルダにあります。 そのファイルにエラーが発生したときに出力されるメッセージを変更できます。 これがあなたを助けたら教えてください!

+0

素敵!これは最も確かに私を助けてくれました、ありがとう!しかし、奇妙なことに、ファイルに明示的に含まれていない唯一のエラータイプはNameErrorですが、SyntaxErrorやValueErrorのようなものもあります。それにもかかわらず、これはまさに私が探していたヘルプです。 NameErrorを編集できる場所を見つけたら、このスレッドを更新します。 – Dennis

+0

私は助けてうれしいです! – Qwerty

関連する問題