Python处理异常
异常操作:
1、错误的定义和特征
什么是错误:错误是由于逻辑和语法等导致一个程序无法正常执行的问题
错误的特征:有些错误无法预知
2、异常的定义
异常是程序错误时表示的一种状态
异常发生时,程序不会再执行,而撞去调用次函数地方待处理此错误并回去为正常状态
语句:
1、try:
try--except 语句
try:
肯触发异常的语句
except 错误类型1[as 变量1]
异常处理语句1
except 错误类型2[as 变量2]
异常处理语句2
except 错误类型2[as 变量2]
异常处理语句2
else:
未发生异常的语句
finally:
最终语句
作用:捕捉异常。尝试恢复正常
def div_apple(n): print("%d个苹果你想分给几个人?"%n) s=input('请输入人数') cnt = int(s) result = n/cnt print("每个人了%d个苹果"%result) try: print("开始分苹果") div_apple(10) print("分苹果") except ValueError: print("发生生成值错误,已处理并转为正常") except ZeroDivisionError: print("发生了被零整除的错误,程序转为正常状态") print("程序正常执行并完成任务,退出程序")
def div_apple(n): print("%d个苹果你想分给几个人?"%n) s=input('请输入人数') cnt = int(s) result = n/cnt print("每个人了%d个苹果"%result) try: print("开始分苹果") div_apple(10) print("分苹果") except (ValueError,ZeroDivisionError) as err: print(err) print("苹果不分了,拿回来")
print("程序正常执行并完成任务,退出程序")
def div_apple(n): print("%d个苹果你想分给几个人?"%n) s=input('请输入人数') cnt = int(s) result = n/cnt print("每个人了%d个苹果"%result) try: print("开始分苹果") div_apple(10) print("分苹果") except ValueError: print("发生生成值错误,已处理并转为正常") except ZeroDivisionError: print("发生了被零整除的错误,程序转为正常状态") print("程序正常执行并完成任务,退出程序")
try - except语句说明
as子句是用于绑定错误对象的变量,可以省略
except子句一个或者多个,但至少有一个
else子句最多一个,可以不写
finally子句最多一个,可以不写
else语句在try语句中没有异常时被执行
finally子句的语句在任何情况下都会被执行