python王者-第15章程式除错与异常处理
🐍 程序除错与异常处理
📌 程序异常
“程序错误(error)有时也称为程序异常(exception)。Python 提供功能来捕捉异常并撰写异常处理程序。”
常见异常示例
异常名称 描述
ZeroDivisionError 除数为零的错误
FileNotFoundError 找不到文件的错误
📄 撰写异常处理程序
15-1-2:try - except
python
Copy
try:
# 预先设想可能引发错误异常的指令
except 异常物件:
# 异常处理程序,指出异常原因,方便修正
15-1-3:try - except - else
python
Copy
try:
# 预先设想可能引发异常的指令
except 异常物件:
# 异常处理程序
else:
# 如果指令正确,执行此区块指令
📁 常见异常物件
15-1-4:找不到档案的错误
FileNotFoundError:当程序试图打开一个不存在的文件时,Python 将抛出此异常。
🧩 设计多组异常处理程序
15-2-2:捕捉多个异常
python
Copy
try:
# 预先设想可能引发错误的指令
except 异常物件1:
# 异常处理程序1
except 异常物件2:
# 异常处理程序2
15-2-3:使用一个except捕捉多个异常
python
Copy
try:
# 预先设想可能引发错误的指令
except (异常物件1, 异常物件2):
# 异常处理程序
🔄 丢出异常
15-3:手动抛出异常
使用 raise 关键字可以手动抛出异常。
🔍 纪录 Traceback 字符串
15-4:使用 traceback 模块
python
Copy
import traceback
记录 Traceback 字符串
traceback.format_exc()
✔️ finally 语句
15-5:finally 的使用
“关键字 finally 必须放在 except 和 else 之后,不论是否有异常发生,finally 内的代码一定会被执行。”
🔍 程序断言
15-6:程序断言 assert
“使用 assert 语句可以在程序中进行条件检查,帮助调试。”
📓 程序日志模块 logging
15-7:使用 logging 模块
" logging 模块可以记录程序运行过程中的日志信息,帮助调试和追踪。"
日志等级 描述
DEBUG 最低等级,用于调试信息
INFO 一般信息
WARNING 警告信息
ERROR 错误信息
CRITICAL 严重错误信息
15-7-3:格式化 logging 输出
python
Copy
logging.basicConfig(level=logging.DEBUG, format=‘%(asctime)s - %(levelname)s - %(message)s’)
📝 停用程序日志
15-7-11:停用 logging
python
Copy
logging.disable(level) # level 是停用 logging 的等级
📜 程序除错的典故
“程序除错的过程是编程中的一项重要技能,通过合理的异常处理和日志记录,可以使得程序更加健壮。”

1196

被折叠的 条评论
为什么被折叠?



