python异常

it2024-07-28  39

python异常

一、了解异常

当程序检测到错误时,解释器就无法继续执行了,反而出现错误提示,这就是所谓的“异常”

二、异常的写法

2.1语法:

try:

    可能发生的错误的代码

except:

如果出现异常执行的代码

2.2例:

try:

    open('test.txt','r')

    print('没错误执行')

except:

    open('test.txt','w')

print('发生错误执行')

2.3捕获指定异常

2.3.1语法:

try:

    可能发生的错误的代码

except 异常类型:

    如果捕获到该类型错误执行的代码

注意:1、如果尝试执行的代码的异常类型和要补货的异常类型不一致,则无法捕获异常

2、一般try下方脂肪一行尝试执行的代码

2.3.2例:

# print(num)报异常NameError

# print(1/0)报异常ZeroDivisionError

try:

    print(num)

except NameError:

print('发生错误执行')

2.3.3捕获多个指定异常

写法:将异常放到except后面以元组的方式书写

2.3.4捕获异常描述信息

例:

try:

    print(1 / 0)

except (NameError,ZeroDivisionError) as result:

    print('发生错误执行')

print(result)#division by zero

2.3.5捕获所有异常

except后面放Exception:Exception是所有程序异常的父类

2.4异常的else

如果没有异常执行else后面的代码

try:

         代码

except:

         代码

else:

         代码

2.5异常的finally

表示无论是否有异常都执行

三、自定义异常

# 自定义异常类,继承Exception类

class shortInputError(Exception):

    def __init__(self,lenth,min_len):

        self.lenth=lenth

        self.min_len=min_len

    def __str__(self):

        return f'您输入的长度是{self.lenth},系统定义长度是{self.min_len}'

def main():

    try:

        str = input('请输入密码')

        if len(str)<3:

            raise shortInputError(len(str),3)

    except Exception as result:

        print(result)

    else:

        print('密码输入正确')

main()


最新回复(0)