8.1.7、Python__异常处理,异常类型,自定义异常,除零异常,数值异常,类型异常,名称异常,索引异常,属性异常

1、异常

(1)语法错误(error)
代码编译时的错误,不符合Python语言规则的代码会停止编译并返回 错误信息
(2)异常(Exceptions)
相较于语法错误,异常比较难发现,因为它只在代码运行时才会发生

2、异常类型(6大常用异常)

(1)除零异常(ZeroDivisionError)
(2)名称错误(NameError)

#变量未定义直接使用
print(i)

(3)数值错误(ValueError)

#转换时不符合
print(int("abc"))

(4)类型异常(TypeError)

#类型不同的做运算
print(1 + "a")

(5)索引异常(IndexError)

#索引下标越界
list1 = [1,2]
print(list1[2])

(6)属性异常(AttributeError)

#访问未知的对象属性
a = "abcd"
a.tt()

3、异常处理

try:
    可能异常代码
except 可能异常1 as e
    处理逻辑
...
else:
    没有异常时执行
finally:
    有没有异常都会执行

4、自定义异常

#自定义异常
class MyException(Exception):
    #pass
    def __init__(self):
        super(MyException, self).__init__("外星人异常")


age = int(input("请输入一个年龄:"))
try:
    if age < 0:
        # 抛出一个异常,使用raise
        raise MyException
    else:
        print("age is :%d" % age)
except MyException as e:
    print(e)

猜你喜欢

转载自blog.csdn.net/nerer/article/details/121193177