目录
1、异常概念
程序运行时,当python解释器遇到一个错误,会停止程序运行并提示错误信息,这就是异常。
程序停止执行并提示错误信息,叫抛出异常。
2、捕获异常
try:
num = int(input("请输入一个整数:"))
except:
print("请输入正确数字")
try:
# 不确定能否正确执行代码
except:
# 如果不正确,执行这部分代码
2.1错误类型捕获
try:
num = int(input("请输入整数:"))
result = 8/num
print(result)
except ValueError:
print("请输入正确整数")
except ZeroDivisionError:
print("除0错误")
捕获未知类型错误
except Exception as e:
print("未知错误 %s" % e)
异常捕获完整语法
try:
num = int(input("请输入整数:"))
result = 8/num
print(result)
except ValueError:
print("请输入正确整数")
except ZeroDivisionError:
print("除0错误")
except Exception as e:
print("未知错误 %s" % e)
else:
print("没有异常时才会执行else中代码")
finally:
print("不管有没有异常都会执行finally中代码")
3、异常的传递
函数或者方法执行出现错误,会将错误传递给调用函数或方法的地方,如果传递到主程序都没有处理异常,程序才会被终止。
提示:在程序开发中,可以在主程序中捕获异常,在主函数中调用其他函数出现异常都会传递到主函数中,就不需要在代码中大量捕获异常。
4、抛出异常
def input_password():
# 提示用户输入密码
pwd = input("请输入密码:")
# 判断密码长度
if len(pwd) >= 8:
return pwd
ex = Exception("密码长度不够")
raise ex
try:
user_pwd = input_password()
print(user_pwd)
except Exception as e:
print("发现错误:%s" % e)