Python-异常处理

1.什么是异常

异常是当程序运行中出现的错误

2.为什么要处理异常

当异常出现时,程序就会停止。我们希望异常出现后,程序不停止,继续运行。如果我们要程序继续运行,需要捕获异常,再抛出异常,就可以实现程序继续运行

3.常见的异常

Python 中常见的异常如下表所示:

异常名称描述
SystemExit解释器请求退出
StopIteration迭代器没有更多的值
GeneratorExit生成器(generator)发生异常来通知退出
OverflowError数值运算超出最大限制
ZeroDivisionError除(或取模)零 (所有数据类型)
IOError输入/输出操作失败
ImportError导入模块/对象失败
IndexError序列中没有此索引(index)
KeyError映射中没有这个键
MemoryError内存溢出错误(对于Python 解释器不是致命的)
NameError未声明/初始化对象 (没有属性)
UnboundLocalError访问未初始化的本地变量
RuntimeError一般的运行时错误
SyntaxErrorPython 语法错误
IndentationError 缩进错误
TabErrorTab 和空格混用
TypeError对类型无效的操作
ValueError传入无效的参数
UnicodeErrorUnicode 相关的错误
UnicodeDecodeErrorUnicode 解码时的错误
UnicodeEncodeErrorUnicode 编码时错误
UnicodeTranslateErrorUnicode 转换时错误

所有异常的基类为BaseException

4.怎么处理异常

try/except语句进行捕获异常

try:
#运行代码
except <异常的名称>#如果在try部份引发了异常,则这里面的代码
else:
#如果没有异常出现,则执行这里面的代码

例如这样:

try:
    f = open("1.txt", "w")
    f.write("aaa")
except IOError:
    print("文件写入失败")
else:
    print("文件写入成功")
    f.close()

打开文件和写入文件都有可能出错,如果出错则输出文件写入失败,如果没有出错则输出文件写入成功

还可以这样:

try:
    f = open("1.txt", "w")
    f.write("aaa")
except IOError:
    print("文件写入失败")
else:
    print("文件写入成功")
finally:
	print("文件写入结束")
	f.close()

finally后面的语句是,无论是出现异常,还是没有出现异常都会执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值