Python中except用法和作用

本文深入探讨Python异常处理机制,包括如何使用try-except捕获特定和所有异常,以及如何通过raise引发异常。文章还介绍了assert语句的使用,并列举了常见的异常类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python的except用来捕获所有异常, 因为Python里面的每次错误都会抛出 一个异常,所以每个程序的错误都被当作一个运行时错误。

以下是使用except的一个例子:

try:

foo = opne(”file”) #open被错写为opne

except:

sys.exit(”could not open file!”)

因为这个错误是由于open被拼写成opne而造成的,然后被except捕获,所以debug程序的时候很容易不知道出了什么问题。

下面这个例子更好点:

try:

foo = opne(”file”) # 这时候except只捕获IOError

except IOError:

sys.exit(”could not open file”)

except: #捕获所有异常

except: <异常名>: #捕获指定异常

except:<异常名1,异常名2):捕获异常1或者异常2

except:<异常名>,<数据>:捕获指定异常及其附加的数据

except:<异常名1,异常名2>:<数据>:捕获异常名1或者异常名2,及附加的数据库

 

常用异常名:

异常名    描述

AttributeError 调用不存在的方法引发的异常

EOFError     遇到文件末尾引发的异常

ImportError 导入模块出错引发的异常

IndexError     列表越界引发的异常

IOError     I/O操作引发的异常,如打开文件出错等

KeyError   使用字典中不存在的关键字引发的异常

NameError 使用不存在的变量名引发的异常

TabError 语句块缩进不正确引发的异常

ValueError 搜索列表中不存在的值引发的异常

ZeroDivisionError   除数为零引发的异常

使用raise 引发异常几种方式:

raise 异常名

raise 异常名,附加数据

raise 类名

assert 简化了raise语句:

需要注意的是,assert语句一般用于开发时对程序条件的验证,只有当内置_debug_为True时,assert语句才有效。当Python脚本以-O选项编译成为字节码文件时,assert 语句将被移除。

但与raise语句不同的是,assert语句是在条件测试为假时,才引发异常。assert语言的一般形式如下:

assert <条件测试>,<异常附加数据> #其中异常附加数据是可选的

python编程_Python异常机制try: 代码段 except 异常类型,e: 异常处理代码段,如果不知道异常类型,可以使用try: 代码段 except Except,e:异常处理代码段;Except是通用异常类型

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值