|
import sys
def div(num, den):
print('_________________ (',num,',',den,')\n')
try:
ans = num/den
assert den != num, 'Equal' # 断言:分子分母不相等
den = 'Changed' # 如果执行本语句之前未出现异常,改变 den 的值
if num % 2: # 如果分子为奇数,则抛出异常
raise ValueError('Odd')
except ZeroDivisionError as e:
print('except ... as ...\n\t', e)
except:
print('except\n\t', sys.exc_info())
else:
print('else\n\t', ans)
finally:
print('finally\n\t', den)
div(1,0)# 除数为零,为 ZeroDivisionError 异常类
div(1,1)# 分子等于分母,断言为假,抛出异常
div(2,1)# 无异常
div(3,1)# 分子为奇数,通过 raise 抛出异常
div(3,'x')# 不属于 ZeroDivisionError 的其他异常 |
|
|