24cun_cn 发表于 2015-12-1 15:08:52

Python:异常处理

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 的其他异常
页: [1]
查看完整版本: Python:异常处理