Python学习笔记——CSDN学习记录二十三 :异常捕捉

本文介绍了Python中如何进行异常捕获,包括除数为0的错误示例,try...except语句的使用,以及多种异常类型的处理。同时讲解了如何捕捉多个异常,直接抛出异常,finally语句的使用,和Python异常处理的扩展功能。
摘要由CSDN通过智能技术生成

异常捕获

一、最常见的错误——除数为 0:

num1 = 20
num2 = 0
num3 = num1 / num2

print(num3)


# 输出结果:
#   
#       ZeroDivisionError: division by zero

二、try … except 语句:

        1. 语法格式:

                try:

                        可能出错的代码块

                except [异常对象]:

                        异常处理代码块

                如:

num1 = 20
num2 = 0

try:
    num3 = num1 / num2
except ZeroDivisionError:
    print("除数不可以为 0 ")


# 输出结果:
#   
#       除数不可以为 0 

                · 如果无法预知会出现哪种异常,可以省略“异常对象”,直接使用如下实例代码:

num1 = 20
num2 = "abc"

try:
    num3 = num1 / num2
except:
    print("除数错误")

        2. try … except … else … 语句:

                该语句表示出现异常时执行 except 段中的代码,当无异常时执行 else 段中的代码。如:

num1 = 20
num2 = 1

try:
    num3 = num1 / num2
except ZeroDivisionError:
    print("除数不可以为 0 ")
except TypeError:
    print("除数类型不对")
else:
    print("无异常,会被执行")

三、常见的异常类型:

        1. AttributeError:某个对象没有属性;

        2. Exception:通用型异常对象;

        3. FileNotFoundError:找不到文件;

        4. IOError:输入输出异常;

        5. IndexError:索引异常;

        6. KeyError:键异常;

        7. NameError:对象名称异常;

        8. SyntaxError:语法错误;

        9. TypeError:类型错误;

        10. ValueError:值错误。

四、捕捉多个异常:

        语法格式:

                try:

                        可能出错的代码块

                except 异常对象1:

                        异常处理代码块

                except 异常对象2:

                        异常处理代码块

五、一个 except 捕捉多个异常:

        语法格式:

                try:

                        可能出错的代码块

                except (异常对象1, 异常对象2, ...):

                        异常处理代码块

六、直接抛出异常:

num1 = 20
num2 = 0

try:
    num3 = num1 / num2
except ZeroDivisionError as e:
    print('异常:', e)
except TypeError as e:
    print('异常:', e)
else:
    print("无异常,会被执行")


# 输出结果:
#   
#       异常: division by zero

七、finally 语句:

        try … except 语句也可以和 finally 语句配合,格式如下:

                try:

                        可能出错的代码块

                except:

                        代码出错执行的代码块

                else:

                        代码正常执行的代码块

                finally:

                        无论代码是否有异常出现都会执行的的代码块

        · finally 语法需要与 try 语句配合使用,无论是否有异常都会执行该语句内容。

八、Python 异常捕获扩展:

        1. 使用 raise 抛出异常;

        2. 使用 traceback 模块记录异常信息至文件;

        3. 程序断言 assert。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

HaJucy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值