python异常处理
python异常处理-跳过异常继续执行
- 异常简介
- 如何捕获异常
一.异常的简介
.代码程序无误的情况下,若出现错误,则为异常.
例如 : 我们平时所说的除数不能为0,若除数为0,则报出异常.
def div(a,b):
"""
:rtype: object
"""
return a/b
div(10,0)
这里的 ZeroDivisionError: division by zero 指的就是除数为0异常
像这种人为输入除数为0,断网,断电等等,都不是python能够处理的.所以我们应该需要知道如何处理这种类似的问题.一旦有异常发生,程序就可能终止.
二.如何捕获异常
python中捕获异常的方法 :
把可能出现问题的代码,放在try中, 把处理异常的代码,放在except中
try:
"""
可能出现问题的代码
如:return a/b
"""
except ...... :
"""
处理异常的代码
如:
"""
#这种样式的结构来处理
def div(a,b):
try:
return a/b
#这里的ZeroDivisionError就是处理除数为0异常的方法
except ZeroDivisionError as e:
#ZeroDivisionError as e 就是把ZeroDivisionError重命名e
e.with_traceback()
div(10,0)
print("程序正常结束")
这里你会发现你运行起来,还是会有错误提示 : 这里的Traceback是因为e.with_traceback()这个方法才打印出来的,程序并没有什么问题,就像上面的除数为0报错,这里的e.with_traceback()就是提示除数为0了,程序还是会正常运行.
这里程序在运行到return a/b就开始处理异常了,所以程序并没有执行print()语句.
大家可以运行一下试试
多学一样本事,少说一句求人的话。