python定制现有的内置异常

Mac*_*nhe 1 python exception

例如,在这段代码中,我希望我的脚本行为是这样的.

当运行到b = a [2]时,或者任何一行都会引发异常,无论什么是异常.我希望脚本停止,并提出一个自定义的红色错误消息,如:'LOL !!!'

如何实现?

try:
    a = [1,2]
    b = a[2]
except:
    raise something
Run Code Online (Sandbox Code Playgroud)

Chr*_*ena 5

try:
    a = [1,2]
    b = a[2]
except IndexError:
    raise Exception('LOL!')
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为sta [2]引发了一个IndexError.a中只有2个元素,a [2]取第三个元素(从零开始计数).

... 好的...

class YourCustomException(Exception):
    pass

try:
    a = [1,2]
    raise YourCustomException('LOL')
except YourCustomException:
    print('NOW WHAT?')
Run Code Online (Sandbox Code Playgroud)