赞
踩
- try:
- 可能触发异常的语句
- except 错误类型1 [as 变量2]:
- 异常处理语句1
- except 错误类型2 [as 变量2]:
- 异常处理语句2
- except (错误类型3,错误类型4,······) [as 变量3]:
- 异常处理语句3
- except:
- 异常处理语句other
- else:
- 未发生异常的语句
- finally:
- 最终语句
- 异常流
- 说明:
- except子句可以有一个或多个,但至少要有一个
- as子句是用于绑定错误对象的变量,可以省略
- else子句最多只能有一个,也可以省略
- finally子句最多只能有一个,也可以省略不写
- 处理说明:
- except子句用来捕获和处理某种类型的错误发生时,处理异常
- except 子句会根据错误的类型进行匹配,如匹配成功则调用异常处理语句进行处理,然后程序转为正常状态
- 如果except子句没有匹配到任何类型的异常则转到except:子句
- 如果没有任何except子句进行处理,则程序的异常状态会继续下去,并向上层传递
- 如果没有异常,则执行else子句中的语句
- 最终执行finally子句中语句,finally里的代码块执行完毕,代表try语句执行完,则进入正常状态,try语句之外的语句还是照常执行
- # 简单示例
- def learn_try():
- try:
- raise ValueError("值错误")
- except Exception as e:
- print(e)
- return e
- else:
- # else语句在无异常时执行
- print("try中的else")
- finally:
- # finally语句是一定执行的语句
- print("Done")
-
- learn_try()
'运行
- 示例
- def div_apple(n):
- print("现有", n, '个苹果,请问分给几个人')
- d = int(input("请输入人数: "))
- print("每个人分", n/d, '个苹果')
-
-
- try:
- div_apple(10)
- except ValueError: #转为正常状态
- print('值转换错误异常')
- print(ValueError)
-
- except ZeroDivisionError as r: #打印r和打印前面的异常类型结果不同,r是异常信息,异常类型是一个地址,并转为正常状态
- print("出现被除数为0的异常", end = '\n\n')
-
- except: #转为正常状态
- print('异常在以上语句中为捕捉到,本公主才出马')
- else:
- print("程序没有出现异常状态时,执行此语句")
- finally:
- print("我是必须执行的语句")
-
- print("try语句外的语句")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。