Python的学习-Python中的异常处理

什么是异常?

异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。
一般情况下,在Python无法正常处理程序时就会发生一个异常。
异常是Python对象,表示一个错误。
当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。

异常处理

捕捉异常可以使用try/except语句。
try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。
如果你不想在异常发生时结束你的程序,只需在try里捕获它。
语法:
try:
# 不能确定正确执行的代码
num=int(input(‘请输入一个整数:’))
except:
print(‘请输入合法的字符!!!’)
print(‘lalala’)
输入正确的字符:
在这里插入图片描述
输入错误的字符:
在这里插入图片描述
try:
num=int(input(‘请输入一个整数:’))
res=8/num
print(res)
except ZeroDivisionError:
print(‘0不能做除数’)
except Exception as r:
print(‘未知错误!’)
#程序没有碰到致命的错,就执行else
else:
print(‘hello’)
#无论是否遇到异常都会执行
finally:
print(’!!!’)
正常输入:
在这里插入图片描述
输入0时:
在这里插入图片描述
输入其他字符时:
在这里插入图片描述

函数异常

函数的错误:一级一级向上去找 最终会将异常传递到主函数里面去
def demo1():
try:
return int(input(‘请输入正确的整数:’))
except Exception as r:
print(‘未知错误 %s’ %r)
def demo2():
return demo1()

print(demo2())
在这里插入图片描述

主动抛出异常

需求:提示用户输入密码 如果长度小于8位 就抛出异常
def input_passwd():
# 1.提示用户输入密码
pwd = input(‘请输入密码:’)
# 2.判断密码的长度
if len(pwd) >=8:
return pwd #如果密码长度大于等于8,则返回密码,代码执行完毕
# 3.如果<8就主动抛出异常
print(‘主动抛出异常’)
# a.创建异常对象
ex = Exception(‘密码长度不够,必须大于8位’)
# b.主动抛出
raise ex

#注意:只抛出而不捕获 代码会报错
try:
print(input_passwd())
except Exception as re:
print(re)
输入正常时:
在这里插入图片描述
输入异常时:
在这里插入图片描述

断言

可以理解为提前预言,让人更好的知道错误原因
def func(num,div):
assert (div !=0),‘div不能为0’
return num/div

print(func(10,0))
print(’%%%’)
输入正常时:
在这里插入图片描述
输入异常时:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值