Python学习 之 异常处理

异常示例

"""
Traceback --> 异常的追踪信息
ImportError --> 异常类
No module named aaa --> 异常值
"""

# 执行
>>> import aaa

# 错误信息
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named aaa

异常处理

try:
    "do sth"
except ValueError:
    "判断错误类型, 做出相应的处理"
except Exception as e:
    "获取所有错误"
else:
    "没有错误时候执行"
finally:
    "无论如何都会执行"

finally 示例

def funcA():
	# 尝试打开文件并读取内容
    try:
        f = open('a','r')
        ret = f.read()
        return ret
    # 如果出现问题, 先抛出错误
    except Exception as e:
        print(e)
    # 无论如何都需要关闭文件句柄, 释放系统资源
    finally:
        f.close()

自定义异常 和 主动触发

# 自定义一个类, 继承BaseException, 并定义__str__方法, 修改输出内容
class EgonException(BaseException):
    def __init__(self,msg):
        self.msg=msg
    def __str__(self):
        return self.msg

try:
    # 主动触发异常
    raise EgonException('类型错误')
except EgonException as e:
    print(e)

常见异常类型

异常名原因
AttributeError没有这个属性
IOError无法打开文件
ImportError无法导入包
IndentationiError代码对齐格式有问题
IndexError索引超出边界
KeyError访问字典的键不存在
KeyboardInterruptCtrl+c
NameError变量名错误
TypeError类型错误
syntaxError语法错误
ValueError值错误
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值