LBOcean

python异常处理

python异常处理-跳过异常继续执行

  1. 异常简介
  2. 如何捕获异常

一.异常的简介

.代码程序无误的情况下,若出现错误,则为异常.

例如 : 我们平时所说的除数不能为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()语句.
大家可以运行一下试试

posted on 2020-12-16 14:33  LBOcean  阅读(265)  评论(0编辑  收藏  举报

导航