|
发表于 2015-9-27 14:07:57
|
显示全部楼层
- import traceback
- class HahaError(Exception): #我们先自己定义一个异常,以Error结尾,继承Exception类
- def __init__(self,name,score):
- self.name = name
- self.score = math.sqrt(score**3)#简单引入一个模块math,看math导入是否成功
- def __str__(self,name,score):
- return '%s的得分是:%d '%(self.name,self.score)
- try:
- import sys.math #尝试通过sys导入math 模块,会出错,没有sys.math这个模块
- except:
- import math #觉得可能会出错,解决办法,出错后换做直接导入math模块
- try:
- tt = HahaError('Lily',8).__str__('Lily',8)
- try:
- print(tt)#不出错,会怎样呢?
- int(tt)#肯定出错,又会怎样呢?
- assert tt == 1#前面出错了,后面断言又再出错的话会不会执行呢?
- except: TypeError,AssertionError,traceback.print_exc()
- finally:print('我们继续')
- try:
- HahaError('LiMing',6)#都正确,再看看会发生什么!
- mm = int(input('卧槽要输入?: '))#先输入整数让其正确试下,然后再次运行
- #输入1.2小数让其错误看看会发生什么
- except ValueError as ppp:
- print('错了吧: ',str(ppp))
- finally: print('好吧!')
- except:TypeError,traceback.print_exc()
- else:
- if int(input('输入: ')) != 1:
- raise HahaError('Lily',8)
复制代码 |
|