异常处理

异常处理
1.异常错误分类:
1.1 语法错误
1.2 逻辑错误
逻辑错误,难以避免,必须要处理
2.异常处理:
2.1 先捕捉错误
2.2 在进行处理

异常处理的两种方式:
if 如果
type: except 异常处理

if处理异常时的劣势:
1.对于相同的错误类型,要用大量的重复代码处理异常
2.如果出现的异常种类比较多时,利用if,代码会出现冗余现象
type处理异常:
try: 单支
try:
    a =1
    pass
except 错误类型:


3. try: 多支

多种错误
except 错误类型1 as e:
    print(e)
except 错误类型2 as e:
    print(e)
except 错误类型3 as e:
    print(e)

万能异常:
try:
多种错误
except Exception:
print('...')
如果你只是想将异常处理掉,对错误不关系,用万能异常
如果你需要根据不同的错误信息而执行不同的逻辑(分流),那么用多分支,或者多分支加万能异常

try 多分支 + 万能异常
try:
    多种错误
except :

else: 如果出现异常,就不执行else,没有出现异常就执行else语句

try except (else) finally
finally: 出不出现异常都执行,异常出现前执行finally
用途:
1.关闭文件句柄,关闭数据库链接
2.函数return之前能够执行finally代码
3.break 之前可以执行finally
try:
    错误
except 错误类型:
    print(11)
finally:
    print(22)


raise 主动抛出异常
raise IndexError('超出索引范围')

# 断言 表示一个强硬的态度,不满足条件就直接报错
assert + 条件 条件不成立 ,直接报错

自定异常:
大项目开发的时候,出现的错误是python解释器没有给你定义的错误类型


异常处理的总结:
1.异常处理不能经常使用,耗费功能,异常处理的分支越多,冗余越多
2.能用长须解决的问题,尽量用程序解决

异常处理的用法:
1.一些无法预知的错误,要用异常处理
原文地址:https://www.cnblogs.com/shicongcong0910/p/10325057.html