Python基础——异常处理,一文秒懂
2021/4/10 1:25:08
本文主要是介绍Python基础——异常处理,一文秒懂,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
异常
常见异常
类名 | 描述 |
---|---|
Excepion | 所有异常的基类 |
AttributeError | 特性引用或者赋值失败时出现 |
IOError | 试图打开不存在的文件时出现 |
IndexError | 在使用序列中不存在索引时出现 |
KeyError | 在使用映射中不存在的键时出现 |
NameError | 找不到名字(变量)时出现 |
SyntaError | 在代码错误时出现 |
TypeError | 在内建操作或者函数应用于错误类型时出现 |
ValueError | 在内建操作或者函数应用于正确类型的对象,但是该对象使用不合适的值时出现 |
ZeroDivisionError | 在除法或者模操作的第二个参数为零时出现 |
处理异常,捕获异常
try:被检测的语句
pass :空语句只占位
except :处理异常的语句
“try”子句块中编写可能出现异常的语句,“ except ”子句中的语句块处理处理异常,如果“ try ”中语句出现异常并成功被“ except ”中语句成功处理,就不会因报错使程序终止,具体效果如下:
try: num1 = float(input("请输入第一个数字:")) num2 = float(input("请输入第二个数字:")) print(num1,"/",num2,"=",num1/num2) except ZeroDivisionError: print("输入有误,分母不能为零!") except ValueError: print("输入类型有误") 运行结果1、(出现分母为零的异常) 请输入第一个数字:2 请输入第二个数字:0 输入有误,分母不能为零! 运行结果2、(出现输入类型错误) 请输入第一个数字:w 输入类型有误 运行结果3、(无异常) 请输入第一个数字:9 请输入第二个数字:7 9.0 / 7.0 = 1.2857142857142858
获取异常信息
精确捕获需要把子类异常放在父类异常之前,在不知道具体的异常信息是,可以使用所有异常的基类“ Excepion ”去处理异常使用“ as ”去获取具体的异常信息,具体操作如下
try: list_data= [1,2,3,4] print(list_data [8]) except Exception as e : print(e) 输出结果: list index out of range#列表索引超出范围 try: 1/0 except Exception as e : print(e ) 输出结果: division by zero
raise :主动抛出一个异常
try: raise ZeroDivisionError("信息") except Exception as e : print(e ) 输出结果: 信息
finally 无论有没有异常都会执行,一般都是一些关闭或者清理的操作
else在finally前面except后面,没有异常就会执行else的语句
try: num1 = float(input("请输入第一个数字:")) num2 = float(input("请输入第二个数字:")) except ZeroDivisionError: print("输入有误,分母不能为零!") except ValueError: print("输入类型有误") else: print(num1,"/",num2,"=",num1/num2) finally:print("程序结束") 运行结果1、:(无异常) 请输入第一个数字:7 请输入第二个数字:9 7.0 / 9.0 = 0.7777777777777778 程序结束 运行结果2、:(有异常) 请输入第一个数字:w 输入类型有误 程序结束
这篇关于Python基础——异常处理,一文秒懂的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门