如何在没有回溯的情况下在python中仅引发一个异常?

时间:2018-11-21 15:33:18

标签: python exception traceback

我写了一个可以接受任意数量参数的方法。如果用户在调用方法时未传递任何内容,我知道在尝试访问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

0 个答案:

没有答案