尝试/除了Exception类型的特定错误

jer*_*ome 4 python try-catch

我有一定的功能,在某些情况下会做以下事情:

提出异常,'someError'

并且可能在其他情况下引发其他例外.

我想以不同的方式处理函数引发Exception,'someError'以及函数引发其他异常的情况.

例如,我尝试了以下方法,但它并没有像我预期的那样工作.

try:
    raise Exception, 'someError'
except Exception('someError'):
    print('first case')
except:
    print ('second case')
Run Code Online (Sandbox Code Playgroud)

这打印'第二个案例'......

Sam*_*lan 10

您可以查看异常的message属性

>>> try:
...     raise Exception, 'someError'
... except Exception as e:
...     if e.message == 'someError':
...             print 'first case'
...     else:
...             print 'second case'
... 
first case
Run Code Online (Sandbox Code Playgroud)

但它非常hacky.最好只创建两个单独的异常并分别捕获每个异常.