1.捕获所有类型异常

即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。
大多数的异常都不会被程序处理,都以错误信息的形式展现在后台


"""
    异常机制
        异常:不正常事件
"""
try:
    num = int(input("请输入一个数字:"))
except:
    print("如果出现异常就执行这里的代码")

2.捕获具体异常


try:
    num = int(input("请输入一个数字:"))
    # print(num/0)
    open("xx.txt","r")
except (ZeroDivisionError,ValueError):
    print("如果出现ZeroDivisionError,或者ValueError执行这里的代码")

3.捕获未知异常


try:
    num = int(input("请输入一个数字:"))
    # print(num/0)
    open("xx.txt","r")
except (ZeroDivisionError,ValueError):
    print("如果出现ZeroDivisionError,或者ValueError执行这里的代码")
except Exception as ret:
    print("未知错误{}".format(ret))

4.捕获异常完整版


try:
    num = int(input("请输入一个数字:"))
    # print(num/0)
    # open("xx.txt","r")
except (ZeroDivisionError,ValueError):
    print("如果出现ZeroDivisionError,或者ValueError执行这里的代码")
except Exception as ret:
    print("未知错误{}".format(ret))
else:
    print("如果else和try,except联合使用,没有异常的情况下才会执行!")
finally:
    print("finally不管你有没有异常我都执行")

5.异常的传递


def test1():
    return int(input("请输入数字:"))
def test2():
    return test1()
try:
    print(test2())
except Exception as ret:
    print("未知异常:{}".format(ret))

6.自定义异常


def input_password():
    # 提示用户输入密码
    pwd = input("请输入密码:")
    # 判断密码长度
    if len(pwd) >= 8:
        return pwd
    print("主动抛出异常")
    ex = Exception("密码长度不够!")
    raise ex
try:
    print('返回值:',input_password())
except Exception as ret:
    print('错误提示:',ret)
posted on 2022-04-03 22:10  风中的琥珀  阅读(6)  评论(0编辑  收藏  举报