简单介绍错误&异常的内容
树图思维导图提供 互联网错误&异常思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 互联网错误&异常思维导图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:c1fd8c0ea9d23011a2b36c4fb710abbd
错误&异常思维导图模板大纲
错误
语法错误
逻辑错误
异常
两个阶段
调用不同【操作】
即【处理异常】
检测到【错误】
解释器触发【异常】
常见类型
所有的错误类型
都继承自
BaseException
BaseException
SystemExit
解释器请求退出
Exception
ZeroDivisionError
除零错误
SyntaxError
解释器语法错误
IndexError
索引超出
序列范围
KeyError
访问不存在的Key
IOError
输入/输出错误
AttributeError
访问未知的对象属性
NameError
访问未申明变量
Keyboardlnterrupt
用户中断执行
定义
由于程序【错误】
在【正常控制流】以外采取的行为
try:
except
几种用法
捕获所有异常
except Exception
except BaseException
except
空except子句
捕获多个异常
except (Exc1,…ExcN) [as var]
放入一个【元组】
捕获后忽略错误
except exception:pass
有【异常】
语法
except Exception [as var]
else
可选
无异常发生
执行语句
无【异常】
finally
无论是否有异常
最后都要执行
try
需要监测的代码
若有【异常]发生
层层比较
直到找到归属
exception1,exception2…
执行语句
p.s.
语句块中【异常发生点]后的剩余语句
永远不会到达
流程
try→异常→except→finally
try→无异常→else→finally
vs
try-finally
e.g.
关闭文件
用于
维持一致的行为
try-except
捕捉异常
p.s.
except+错误类型
捕获
该错误类型及所有子类
不要
处理并忽略所有错误!
可以
捕获【特定异常】并忽略
捕获【所有异常】并处理
如果无法将【异常】交给合适的【处理器】
直到
被捕捉or造成主程序报错
【异常】将继续
向上层抛出
IPython
交互式调试器
%pdb
出现异常后
直接调用【调试器】
调试器中
可查看
各个【栈帧】中
对象&数据
可执行
任意Python代码
调试器命令
c(ontinue)
恢复程序执行
q(uit)
退出调试器
b(reak)*
number
该行设置断点
s(tep)
单步进入
函数调用
n(ext)
执行当前行
前进下一行
a(rgs)
显示当前函数参数
切换【栈级别】
u(p)
d(own)
h(elp)
命令列表
%debug
调用【调试器】
直接跳到
引发异常的栈帧
其他
logging
代码
import logging
logging.basicConfig(level=logging.lNFO)
级别
debug/info/warning/error
logging.info()
允许配置【记录信息】级别
pdb
让程序以【单步方式】运行
程式
以参数-m pdb启动
输入命令
p
查看变量
q
结束调试
退出程序
n
单步执行代码
pdb.set_trace()
import pdb
设置一个断点
在可能出错的地方
放一个
pdb.set_trace()
命令
c
继续运行
p
查看变量
assert
使用
表达式
assert expression[,arguments]
断言
判定
必须为【真】
为假
则发生异常
上下文管理
with
原理
恢复到
执行前的状态
执行完
with内的代码块
语法
with context_expr[as var]:
with_suite
抛出异常
raise Exception('')
raise
不带参数
原样抛出
当前错误
获取异常信息
sys.exc_info()
概括思维导图模板大纲
树图思维导图提供 互联网金融背景下保定银行的战略转型研究 在线思维导图免费制作,点击“编辑”按钮,可对 互联网金融背景下保定银行的战略转型研究 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:362219fda42aa4d11880b743a14e6e56
树图思维导图提供 一例就诊卡信息录入错误不良事件原因分析 在线思维导图免费制作,点击“编辑”按钮,可对 一例就诊卡信息录入错误不良事件原因分析 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:55b753051029396ac76b2ef8bfc7553b