异常
异常既是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行
一般情况下,在python无法正常处理程序时会发生一个异常。
异常时python对象,表示一个错误。
当python脚本发生异常时我们需要捕捉处理他,否则程序会终止执行。
捕获异常的基本格式
try:
语句一 # 检测语句一是否存在错误
except 异常名称:
语句二 # 若语句一存在错误,可捕获错误
finally:
语句三 # 无论是否存在错误,都会被执行finally内代码
常见错误
常见异常名称
BaseException 所有异常错误
Exception 常规错误
ZeroDivisionError 除0异常错误
ValueError 值类型异常错误
更多异常错误,可查看:http:///www.runoob.com/python/python-exeptions.html
raise 抛出异常
我们可以通过raise 显示地引发异常
一旦引发raise后面的异常,将终止程序执行
# 需求
# 1、传入一个参数,判断是否为整形类型,如果不是,则抛出异常,终止程序
# 2、判断是否大于等于5,如果小于5,则抛出异常终止程序
def f2(num):
if not isinstance(num,int):
raise Exception("该参数不是一个整形类型")
if num<5:
raise Exception("改参数小于5")
print("The number of sending by you is: %d" %num)
f2('b')
assert 断言
assert的异常参数,起始就是在断言表达式后天剑字符串信息,用来解释断言并更好的知道是哪里出现了问题
基本格式 assert bool_expression [,arguments]
如果:bool_expression为False,则会抛出arguments这个自定义异常信息
如果:bool_expression为True, 则不会抛出arguments这个自定义异常信息
# 需求
# 1、传入一个参数,判断是否为整形类型,如果不是,则抛出异常,终止程序
# 2、判断是否大于等于5,如果小于5,则抛出异常终止程序
def f2(num):
assert isinstance(num,int), "改参数不是一个整形类型"
assert num>=5, "改参数小于5"
print("The number of sending by you is: %d" %num)
f2(2)