码迷,mamicode.com
首页 > 其他好文 > 详细

3.1.19 异常处理

时间:2018-06-11 19:07:21      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:ase   except   assert   代码   finally   需要   方法   people   err   

#多分支:被监测的代码块抛出的异常有多种可能性,并且我们需要针对每一种异常类型都定制专门的处理逻辑
# try:
# print(‘===>1‘)
# # name
# print(‘===>2‘)
# l=[1,2,3]
# # l[100]
# print(‘===>3‘)
# d={}
# d[‘name‘]
# print(‘===>4‘)
#
# except NameError as e:
# print(‘--->‘,e)
#
# except IndexError as e:
# print(‘--->‘,e)
#
# except KeyError as e:
# print(‘--->‘,e)
#
#
# print(‘====>afer code‘)


#万能异常:Exception,被监测的代码块抛出的异常有多种可能性,
# 并且我们针对所有的异常类型都只用一种处理逻辑就可以了,那就使用Exception
# try:
# print(‘===>1‘)
# # name
# print(‘===>2‘)
# l=[1,2,3]
# l[100]
# print(‘===>3‘)
# d={}
# d[‘name‘]
# print(‘===>4‘)
#
# except Exception as e:
# print(‘异常发生啦:‘,e)
#
# print(‘====>afer code‘)

 


# try:
# print(‘===>1‘)
# # name
# print(‘===>2‘)
# l=[1,2,3]
# # l[100]
# print(‘===>3‘)
# d={}
# d[‘name‘]
# print(‘===>4‘)
#
# except NameError as e:
# print(‘--->‘,e)
#
# except IndexError as e:
# print(‘--->‘,e)
#
# except KeyError as e:
# print(‘--->‘,e)
#
# except Exception as e:
# print(‘统一的处理方法‘)
#
#
# print(‘====>afer code‘)

#其他结构
# try:
# print(‘===>1‘)
# # name
# print(‘===>2‘)
# l=[1,2,3]
# # l[100]
# print(‘===>3‘)
# d={}
# d[‘name‘]
# print(‘===>4‘)
#
# except NameError as e:
# print(‘--->‘,e)
#
# except IndexError as e:
# print(‘--->‘,e)
#
# except KeyError as e:
# print(‘--->‘,e)
#
# except Exception as e:
# print(‘统一的处理方法‘)
#
# else:
# print(‘在被检测的代码块没有发生异常时执行‘)
#
# finally:
# print(‘不管被检测的代码块有无发生异常都会执行‘)
#
#
#
# print(‘====>afer code‘)


# try:
# f=open(‘a.txt‘,‘r‘,encoding=‘utf-8‘)
# print(next(f))
# print(next(f))
# print(next(f))
# print(next(f))
#
# print(next(f))
# print(next(f))
# finally:
# f.close()


#主动触发异常:raise 异常类型(值)
# class People:
# def __init__(self,name,age):
# if not isinstance(name,str):
# raise TypeError(‘名字必须传入str类型‘)
# if not isinstance(age,int):
# raise TypeError(‘年龄必须传入int类型‘)
#
# self.name=name
# self.age=age
#
# p=People(‘egon‘,18)


#自定义异常类型
class MyException(BaseException):
def __init__(self,msg):
super(MyException,self).__init__()
self.msg=msg

def __str__(self):
return ‘<%s>‘ %self.msg

raise MyException(‘我自己的异常类型‘) #print(obj)

 

 


#断言assert

# info={}
# info[‘name‘]=‘egon‘
# # info[‘age‘]=18
#
#
#
#
#
#
# # if ‘name‘ not in info:
# # raise KeyError(‘必须有name这个key‘)
# #
# # if ‘age‘ not in info:
# # raise KeyError(‘必须有age这个key‘)
#
# assert (‘name‘ in info) and (‘age‘ in info)
#
#
#
# if info[‘name‘] == ‘egon‘ and info[‘age‘] > 10:
# print(‘welcome‘)

 

 

 

 

 


try:
pass


except Exception:
pass

 

3.1.19 异常处理

标签:ase   except   assert   代码   finally   需要   方法   people   err   

原文地址:https://www.cnblogs.com/beallaliu/p/9168312.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!