3-4 Python异常机制常考题
Posted WinvenChang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3-4 Python异常机制常考题相关的知识,希望对你有一定的参考价值。
一、什么是Python
的异常?
Python
使用异常处理错误(有些语言使用错误码)
1.BaseException
2.SystemExit
/KeyboardInterrupt
/GeneratorExit
3.Exception
二、使用异常的常见场景
什么时候需要捕获处理异常呢?看Python
内置异常的类型
1.网络请求(超时、连接错误等)
2.资源访问(权限问题、资源不存在)
3.代码逻辑(越界访问、KeyError
等)
三、如何处理 Python
异常
搞懂几个关键字
try:
# func # 可能会招聘异常的代码
except (Exception1, Exception2) as e: # 可以捕获多个异常并处理
# 异常处理的代码
else:
# pass # 异常没有发生的时候代码逻辑
finally:
pass # 无论异常有没有发生都会执行的代码,一般处理资源的关闭和释放
小作业:请自己尝试编写一段代码打印异常执行逻辑
四、如何自定义异常
如何自定义自己的异常?为什么需要定义自己的异常?
1.继承 Exception
实现自己的异常(想想为什么不是BaseException
)
2.给异常加上一些附加信息
3.处理一些业务相关的特定异常(raise MyException
)
代码示例:
class MyException(Exception):
pass
try:
raise MyException('my exception')
except Exception as e:
print(e)
运行结果:
说明:
这里为什么不继承 BaseException
呢?因为BaseException
是所有异常的基类,如下图所示:
它同时还包括KeyboardInterrupt
,KeyboardInterrupt
表示按下Ctr+C
时抛出异常,如果继承自BaseException
,程序在运行时,无法通过按下Ctr+C
来达到终止程序的目的。
所以一般业务的异常都会继承 Exception
以上是关于3-4 Python异常机制常考题的主要内容,如果未能解决你的问题,请参考以下文章