第九章 异常处理

系列文章目录

第一章 Python 基础知识
第二章 python 字符串处理
第三章 python 数据类型
第四章 python 运算符与流程控制
第五章 python 文件操作
第六章 python 函数
第七章 python 常用内建函数
第八章 python 类(面向对象编程)
第九章 python 异常处理
第十章 python 自定义模块及导入方法
第十一章 python 常用标准库
第十二章 python 正则表达式
第十三章 python 操作数据库



什么是异常

什么是异常???
顾名思义,异常就是程序因为某种原因无法正常工作了,比如缩进错误、缺少软件包、环境错误、连接超时等都会引发异常。
一个健壮的程序应该把所能预知的异常都应做相应的处理,保障程序长期运行。

使用场景

1.兼容类的处理,可以使用python2的模块,以及python3的模块
2.明确要求
3.表达式已知类的错误,用except备选处理

捕获异常语法

# 语法
try:
    <代码块>
except [异常类型]:
    <发生异常时执行的代码块>

如果在执行try块里的业务逻辑代码时出现异常,系统会自动生成一个异常对象,该异常对象被提交给Python解释器,这个过程被称为引发异常。

当Python解释器收到异常对象时,会寻找能处理该异常对象的except块,如果找到合适的except块,则把该异常对象交给该except块处理,这个过程称之为捕获异常。如果Python解释器找不到捕获异常的except块,则运行时环境终止,Python解释器也将退出。

异常类型

捕获过程中
1.已知异常类型,可以明确定义异常类型
2.未知异常类型,可以使用Exception进行定义

# 已知异常类型
try:
    n = '2' + 2
    print(n)
except TypeError:
    print("发生错误执行的代码")

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

# 未知异常类型
try:
    n = '2' + 2
except Exception:
    print("发生错误执行的代码")
# 已知异常类型
try:
    n = '2' + 2
    print(n)
except TypeError as e:
    print("错误:%s" %e)
    print("发生错误执行的代码")
异常类型用途
SyntaxError语法错误
IndentationError缩进错误
TypeError对象类型与要求不符合
ImportError模块或包导入错误;一般路径或名称错误
KeyError字典里便不存在的键
NameError变量不存在
IndexError下标超出序列范围
IOError输入、输出异常;一般是无法打开文件
AttributeError对象里没有属性
Keyboardinterrupt键盘接受到Ctrl+C
Exception通用的异常类型;一般会捕捉所有异常
UnicodeEncodeError编码错误

异常处理(示例)

# 打印一个没有定义的变量
try:
    print(name)
except NameError:
    print("发生名称错误时,执行的代码")

在这里插入图片描述

# 当不确定异常类型时,可以使用通用异常类型
try:
    print(name)
except Exception:
    print("发生名称错误时,执行的代码")

在这里插入图片描述

# 保存异常信息
try:
    print(name)
except Exception as e:
    print("错误:%s" %e)
    print("发生名称错误时,执行的代码")

在这里插入图片描述


总结

以上就是今天学习的内容,本文仅仅简单学习了python的异常,什么是异常,如何捕捉异常,异常类型等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XMYX-0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值