异常


# 普通异常
try
: print('比如说这句话出现异常') except (异常的名字1,异常的名字2): print('捕获到‘异常的名字1’或‘异常的名字2’后所做的处理') except 异常的名字3: print('捕获到‘异常的名字3’后所做的处理') except Exception as ret:======>相当于创建一个异常对象,然后将变量ret指向该异常对象 print('如果用了Exception,那么意味着只要上面的except没有捕获到异常,这个except一定会捕获到(好像ACL最后一条deny来兜底一样)') print(ret)============>将捕获到的异常信息传递给ret,通过print(ret)来查看异常信息。 else: print('没有异常才会执行此处') finally: print('不管产生异常没有最后都要执行此处')
# 异常传递:
def abc(): print(xxx) def bcd(): try: print('11111') abc() ============> 调用此函数的动作不会出错,但此函数内部的print(xxx)会出错,这样的异常也可以捕获到(即异常捕获支持递归) except Exception: pass
# 自定义异常:
class zidingyiyichang(Exception):=========>异常就是一个类,但类要当异常使的话要记得继承Exception。 def __init__(self,length,atleast) self.length = length self.atleast = aatleast try: x = input('请输入一个字符串') if len(x) < 3: raise zidingyiyichang(len(x),3)===========>主动抛出异常语法。 except zidingyiyichang as result: print('zidingyiyichang:输入的长度是%d,长度至少应是%d'%(result.length,result.atleast)) # 异常处理中抛出异常: try: print(10/0) except: raise =========>在捕获异常后的处理过程中再将异常抛出,raise后面不跟异常名字则抛出的是捕获到的异常。

 

转载于:https://www.cnblogs.com/baihualin/p/10345196.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值