そこで、インデクサーを持つこのクラスを開発しています。IndexError 例外をスロー (または Python 用語で「レイズ」) したいと考えています。まあ、それはかなり些細なことですが、
if errorCondition:
raise IndexError("index out of range")
ただし、このコードをコンソールで実行してエラーが発生すると、スタック トレースにはエラーが発生した行も含まれます。
Traceback (most recent call last):
File "code.py", line 261, in <module>
print myCards[99]
File "Full/Path/To/The/module.py", line 37, in __getitem__
raise IndexError("item index out of range")
IndexError: item index out of range
私はこの種の奇妙なことを見つけました。外部モジュールから抽出されたファイル、行、およびコードに関する情報を提供するのではなく、クラスの内部動作を実装者から隠したいと思います。
これを管理する方法はありますか?エラーを発生させるポイントは、外部コード内のどこでエラーが発生したかではなく、関数呼び出しがなぜ失敗したかを説明するのに十分な情報を提供することです。