所以,我正在开发这个有索引器的类。我想抛出(或用 Python 术语“引发”)一个 IndexError 异常。嗯,这很琐碎,
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
我觉得这种奇怪,我想对实现者隐藏我的类的内部工作,而不是提供有关从外部模块提取的文件、行和代码的信息。
有什么办法可以管理这个吗?引发错误的所有意义在于提供足够的信息来描述函数调用出错的原因,而不是在外部代码中引发错误的位置。