Python学习的第十九天(异常处理与模块和包)

调用父类的方法

在子类中通过

super().__new__(cls)
  • 程序停止执行并且提示错误信息 这个动作,我们通常称之为:抛出(raise)异常

异常捕获

格式

try.... except.....

详情

try:
	尝试执行的代码
	可能会出错的代码
except:
	出现错误的处理
	如果出错了怎么办,处理方案写在这里
	
通过这样的方式写的代码,程序不崩

错误提示的解读

在这里插入图片描述

错误类型

NameError

IndexError

出现在在有序的容器中

字符串,列表,元组

如果我们使用的下标超出了它的索引上限,就会报IndexError

KeyError

字典取值,使用的键并不存在的时候,报的错

字典[键]

捕获错误的分支情况

在这里插入图片描述

try:
	可能出错的代码
except 错误类型:
	当前错误类型发生的时候执行的代码
except 错误类型n:
	当前错误类型发生的时候执行的代码n
except Exception:
	上面的错误都没有搏获成功蛙,会被这里接收,执行这里的代码

完整的异常捕获语句

try:
    # 尝试执行的代码
    pass
except 错误类型1:
    # 针对错误类型1,对应的代码处理
    pass
except 错误类型2:
    # 针对错误类型2,对应的代码处理
    pass
except (错误类型3, 错误类型4):
    # 针对错误类型3 和 4,对应的代码处理
    pass
except Exception as result:
    # 打印错误信息
    print(result)
else:
    # 没有异常才会执行的代码
    pass
finally:
    # 无论是否有异常,都会执行的代码
    print("无论是否有异常,都会执行的代码")

抛出异常

如何生成一个异常对象

异常对象 = 异常类(异常提示信息)

ex = Exception("我是一个后端程序员自定义的异常")
ne = NameError("我是自定义的nameerror")

抛出异常

raise 异常对象

raise ne
raise 异常类(异常提示信息)

模块的导入

import 模块1,模块2


import 模块1
import 模块2

模块的起别名

一般模块名如果很长,就可以考虑给他起一个别名

import 模块名 as 别名

后面用的时候

就要用别名来使用了

如果使用原来的模块名,会报错

导入模新办法

from 目录名称 import 模块名称
from 目录名.模块名 import 想要的标识符

猜你喜欢

转载自blog.csdn.net/abcdhulei/article/details/89067935