python异常处理

python异常处理

为何要进行异常处理:因为在正常情况下,当程序出现错误时,程序抛出异常,并且会自动终止运行。而有时候我们希望,当程序出错时,程序既能抛出异常,又能不中断运行,又或者,在有的时候,在某个特定的条件下,我需要程序去抛出异常,从而中断程序,因此便有了“异常处理”!

一、try:except:用法

程序正常运行,则执行try里面的代码,程序异常,则执行except里面的代码,except可捕获多个具体异常。

# 例如
number = 20
a = [-4, -2, 0, 2, 4]
for i in range(len(a)):
    try:
        result = number/a[i]  # 分母为0时,抛出异常
        print(result)
    except Exception as e:  # 所有的普通异常都包含在Exception里面
        print("出错啦!", e)
        

运行结果
在这里插入图片描述
更加丰富的结构

# 例如

try:
    print("我是尝试运行")
except NameError:  # 捕获具体异常
    print("命名错误!")
except ZeroDivisionError:
    print("分母不能为0")
else:
    print("我是try执行完后,执行")
finally:
    print("无论如何,我最终都会执行")

运行结果
在这里插入图片描述

二、raise用法

在某个特定的条件下,抛出异常,从而中断程序

# 例如
name = input("请输入您的用户名:")
if name == "小明":
    raise ("黑名单用户,禁止登登录!")  # raise自定义自动抛出异常

运行结果
在这里插入图片描述

三、assert断言

# 例如
a = 2
b = 3
assert a < b  # 当条件为True时,正常运行
print("前面ok")
assert a > b  # 当条件为False时,程序抛出异常,程序中断
print("我是后面的")

运行结果
在这里插入图片描述


版权声明:本文为weixin_45126194原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。