异常
一 认识异常
在python中,异常程序在执行期间发生的一些错误或异常的情况,也叫bug,例如除以零,访问不存在的变量,不正确的输入等。
让我们来看一下异常代码
print(a)
如下就会报错:
D:\python\python.exe "C:/Users/user/PycharmProjects/pythonProject1/python基础/异常 博客.py" Traceback (most recent call last): File "C:\Users\user\PycharmProjects\pythonProject1\python基础\异常 博客.py", line 1, in print(a) NameError: name 'a' is not defined
a='10'
b=10
print(a+b)
报错如下:
Traceback (most recent call last): File "C:\Users\user\PycharmProjects\pythonProject1\python基础\异常 博客.py", line 3, in print(a+b) TypeError: can only concatenate str (not "int") to str
二 解决异常
遇到如上报错,我们可以用try: except:方法来解决异常。
a='10'
b=10
try:
print(a+b)
except:
print(int(a)+b)
总结
异常的处理对于我们后续的逻辑有很多大的帮助,在项目中不会因为个人原因或者网络因素导致系统的崩溃,提升产品的体验度。
让我们来看一下python中有哪些报错
FileNotFoundErvor:文件不存在错误,通常是由于尝试访问不存在的文件导致的。
NameError:名称错误,通常是由于使用了未定义的变量或函数名导致的。
SyntaxError: 语法错误,通常是由于编写的代码存在语法错误导致的。
TypeError:类型错误,通常是由于使用了不兼容的数据类型或函数参数类型不匹配导致的。
MalueError: 值错误,通常是由于传递给函数的参数值不合法导致的。
lndexError: 索引错误,通常是由于尝试访问不存在的索引位置导致的。
KeyError: 键错误,通常是由于尝试访问不存在的键导致的。
ZeroRivisianError: 除以零错误,通常是由于尝试除以零导致的。
AttributeError: 属性错误,通常是由于尝试访问不存在的属性(方法)导致的。
如何捕获指定报错
a='10'
b=10
try:
print(a+b)
except TypeError:
print(int(a)+b)
用指定的错误方法来捕获,例如TypeError,nameerror等。
finally
finally是不管报不报错都会执行的。
a='10'
b=10
try:
print(a+b)
except Exception as e:
print(e)
finally:
print('不管报不报错都会执行。')
断言
assert断言:强制要求条件满足。
a=1
#如果a不等于2就会报错
assert a==2
报错如下:
Traceback (most recent call last): File "C:\Users\user\PycharmProjects\pythonProject1\python基础\异常 博客.py", line 3, in assert a==2 AssertionError