我写了一个可以接受任意数量参数的方法。如果用户在调用方法时未传递任何内容,我知道在尝试访问IndexError
的第一个元素时会得到args
。
try:
_color = args[0]
except IndexError:
print('error')
但是,当发生IndexError时如何引发其他自定义错误,而又不追溯所有错误?我只需要一个习惯。
如果我使用:
try:
_color = args[0]
except IndexError:
raise AttributeError
我得到了追溯:
Traceback (most recent call last):
File "C:/Users/...", line 12, in __init__
_color = args[0]
IndexError: tuple index out of range
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/...", line 132, in <module>
Brush()
File "C:/Users/...", line 14, in __init__
raise AttributeError
AttributeError
我只需要告诉用户我的自定义错误,或者在这种情况下告诉用户AttributeError
,而无需IndexError
。