python异常处理机制
1.1python的内置异常
当我们在运行代码的时候一旦程序报错,就会终止运行,并且有的异常是不可避免的,但是我们可以对异常进行捕获,防止程序终止.
- python的内置异常是非常强大的,有很多的内置异常,向用户传递异常信息.
BaseException
是所有异常的基类,但用户定义的类并不直接继承BaseException,所有的异常类都是从Exception继承,且都在exceptions模块中定义.
1.2异常的捕获
当程序发生异常的时候,我们可以进行捕获,然后处理异常,python处理异常通常使用
try...except...
结构,把可能出现的错误放在try
里面,用except
来处理异常
1.3捕获异常
try:
可能出错的代码
except:
如果有异常处理的代码
1.4捕获多个异常
try:
<语句>
except (<异常名1>, <异常名2>, ...):
print('异常说明')
1.5第二种捕获多个异常
try:
<语句>
except <异常名1>:
print('异常说明1')
except <异常名2>:
print('异常说明2')
except <异常名3>:
print('异常说明3')
1.6当没有异常的时候还想处理其他的逻辑这是就用到了else
try:
<语句>
except <异常名1>:
print('异常说明1')
except <异常名2>:
print('异常说明2')
else:
在上面的代码没有异常的情况下处理的逻辑
1.7 异常中finally
str1 = 'hello world'
try:
int(str1)
except IndexError as e:
print(e)
except KeyError as e:
print(e)
except ValueError as e:
print(e)
else:
print('try内没有异常')
finally:
print('无论异常与否,都会执行我')
1.8raise抛出异常
def not_zero(num):
try:
if num == 0:
raise ValueError('参数错误')
return num
except Exception as e:
print(e)
not_zero(0)
里面有一些代码是借鉴https://blog.csdn.net/polyhedronx/article/details/81589196
希望可以帮到小伙伴!!!