捕捉异常

异常

异常既是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行
一般情况下,在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)

猜你喜欢

转载自blog.csdn.net/Mwyldnje2003/article/details/113426541