私が得ることができる最も近いものはこれです:
In [6]: raise MyError("some message")
---------------------------------------------------------------------------
MyError Traceback (most recent call last)
<ipython-input-2-4bd48c5b1ce0> in <module>()
----> 1 raise MyError("some error message")
MyError: some error message
クラス名の前に大手__main__.
テキストを削除する方法があります。そこクラス名自体を削除する方法がさえているため、出力は次のようになります。
In [6]: raise MyError("some error message")
---------------------------------------------------------------------------
Traceback (most recent call last)
<ipython-input-6-4bd48c5b1ce0> in <module>()
----> 1 raise MyError("some error message")
: some error message
しかし、私は:
記号を削除する方法を見つけることができませんでした。私の推測では、例外出力を他の出力タイプとはっきりと区別するために、この記号がインタプリタによって生成されるということです。
ここで私が使用ソリューションです:
class MyError(Exception):
__module__ = None
def __init__(self, *args, **kwargs):
Exception.__init__(self, *args, **kwargs)
self.__class__.__name__ = "CustomTextHere"
そして、いくつかの出力:
In [8]: MyError
Out[8]: MyError
In [9]: MyError()
Out[9]: None.CustomTextHere()
In [11]: raise MyError()
---------------------------------------------------------------------------
CustomTextHere Traceback (most recent call last)
<ipython-input-11-f389ee70e588> in <module>()
----> 1 raise MyError()
CustomTextHere:
In [12]: raise MyError("some error message")
---------------------------------------------------------------------------
CustomTextHere Traceback (most recent call last)
<ipython-input-12-4bd48c5b1ce0> in <module>()
----> 1 raise MyError("some error message")
CustomTextHere: some error message
あなただけ:
記号を取得したい場合は、あなたが使用します。
self.__class__.__name__ = ""
そして、あなたドンメッセージを捕まえて印刷したくないのですか? – yelsayed
'__main __。MyError'は例外として発生させたオブジェクトです。 – AChampion
@AChampionもちろん、私は通常、オブジェクトの文字列表現をカスタマイズすることができます。この場合はそうではありません。 – max