嵌入式 python异常except语句用法与引发异常

本文深入探讨Python中的异常处理机制,包括except语句的用法,如捕获所有异常、指定异常以及附加数据。介绍了常见的Python异常类型,如AttributeError、EOFError等。此外,还讲解了raise语句如何引发异常以及assert语句的使用。文章通过实例展示了如何使用try-except-else-finally结构来处理异常,以及如何利用sys和traceback模块进行异常信息的获取。同时,提到了异常处理在平台适配和自定义异常中的应用。
摘要由CSDN通过智能技术生成

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: 代码段 exceptExcept,e:异常处理代码段;Except是通用异常类型 

 

一个Python异常实例

 

一个简单的异常例子,打开一个不存在的文件,引发异常:

#!/usr/local/bin/python3.2    
try:
    f = open("file-not-exists", "r")  
except IOError,e:
    print("open exception: %s: %s\n" %(e.errno, e.strerror))  
与Python异常相关的关键字:
关键字          关键字说明
raise           抛出/引发异常
try/except      捕获异常并处理
pass            忽略异常
as              定义异常实例(except IOError as e)
finally         无论是否出现异常,都执行的代码
else            如果try中的语句没有引发异常,则执行else中的语句
except
   老版本的Python,except语句写作"except Exception, e",Python 2.6后应写作"except Exception as e"。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值