问题在output注释里
class MyZeroDivisionError(ZeroDivisionError):
pass
def do_the_division(mine):
if mine:
raise MyZeroDivisionError("some worse news")
else:
raise ZeroDivisionError("some bad news")
for mode in [False, True]:
try:
do_the_division(mode)
except ZeroDivisionError:
print('Division by zero')
for mode in [False, True]:
try:
do_the_division(mode)
except MyZeroDivisionError:
print('My division by zero')
except ZeroDivisionError:
print('Original division by zero')
ouput:
Division by zero
Division by zero #当mode为True的时候,为什么还是print “Division by zero”
Original division by zero
My division by zero