文章目录
Python的异常处理机制允许你在程序运行时捕获和处理错误。这对于提高程序的健壮性和用户体验至关重要。Python 使用 try 和 except 语句来捕获和处理异常。你还可以使用 else 和 finally 子句来提供额外的错误处理代码。
Python中的错误可以分为两种:语法错误和异常
- 语法错误(Syntax errors) :代码编译时的错误,不符合Python语言规则的代码会停止编译并返回 错误信息
- 异常(Exceptions) :相较于语法错误,异常比较难发现,因为它只在代码运行时才会发生, 如类型错误、数值错误、索引错误和属性错误等
Python异常类层级
Python中的主要错误
语法错误(SyntaxError)
缺少起始符号或结尾符号(括号、引号等)
缩进错误
series = [1,2,3,4]
for num in series:
print(num)
print(num)
#输出结果:
# File "F:\code\day007.py", line 4
# print(num)
#IndentationError: unexpected indent
关键词拼写错误
num = 3
prit(num)
#输出结果
# File "F:\code\day007.py", line 247, in <module>
# prit(num)
#NameError: name 'prit' is not defined
六种典型的异常
- 除零错误(ZeroDivisionError):除数为0
- 名称错误(NameError):变量使用前未进行申明或者初始化
- 类型错误(TypeError):某些函数或者方法只适用于特定的数据类型,如果 对数据类型的操作不当,就会产生类型错误
- 数值错误(ValueError):在输入类型正确的情况下,具体输入值错误
- 索引错误(IndexError):超出序列长度的索引操作
- 属性错误(AttributeError):方法或者属性不适用该对象
捕获异常
- 高级语言通常都内置了一套错误处理机制,Python也不例外
- 在Python中可通过try…except…else…finally…机制捕获异常并进行处理
try…except…else…工作原理
finally子句:无论程序运行对或错,都会执行的部分
抛出异常
li1 = [231, 245, -355, 152, 64, 353]
for i in li1:
v = 100 / i
print(v)
if v < 0:
# 抛出异常
raise Exception("这里有问题")
pass
#输出结果:
# File "F:\code\day007.py", line 175, in <module>
# raise Exception("这里有问题")
#Exception: 这里有问题
#0.4329004329004329
#0.40816326530612246
#-0.28169014084507044
用户自定义异常
-
在Python中可以通过创建一个新的异常类来拥有自己的异常
-
自定义异常的原因
1.Python提供的内建异常不够用
2.可以预估某个错误的产生 -
定义异常类
异常类继承自 Exception 类,可以直接继承,或者间接继承
class MyError(Exception):
pass
raise MyError("something error")
# File "F:\code\day007.py", line 147, in <module>
# raise MyError("something error")
#__main__.MyError: something error
标签:Exception,Python,语法错误,错误,python,处理,num,异常
From: https://blog.csdn.net/2301_77698138/article/details/140488869