Python~try--except--else异常处理

try--except--else-finally异常处理

场景:在程序运行的过程中,如果某一处代码有报错,那么程序就不会继续运行后面的代码,而我们又需要在程序正常运行。

try except语句作用,捕获程序在执行的过程中遇到的异常情况,并且在异常情况下,正常运行。


案例:

遍历一个列表numbers,打印1024 除以 列表中的每个元素,当i=0,代码则会报错,且不会继续执行。

numbers = [1, 0, 2, 4]

for i in numbers:
    print(1024 / i)

Python~try--except--else异常处理_第1张图片
想让代码继续执行,捕获异常,且让程序继续运行。try--except可以处理这样的情况。

try--except语句

numbers = [1, 0, 2, 4]

for i in numbers:
    try:
        print(1024 / i)
    except:
        print('分母不能为“0”')

从运行结果可以总结出,当i=0,try--except捕获异常,并打印出现我们提示的信息。
Python~try--except--else异常处理_第2张图片
如果我们需要知道具体的报错信息,便于定位问题:

numbers = [1, 0, 2, 4]

for i in numbers:
    try:
        print(1024 / i)
    except Exception as e:
        print('分母不能为“0”')
        print(f'异常信息:{e}')

Python~try--except--else异常处理_第3张图片


try--except--else语句

当没有异常发生时,执行else语句

numbers = [1, 0, 2, 4]

for i in numbers:
    try:
        print(1024 / i)
    except:
        print('分母不能为“0”')
    else:
        print('如果没有异常,执行else')

执行结果:
Python~try--except--else异常处理_第4张图片

try--except--finally语句

不管有没有异常,finally语句都会执行。

numbers = [1, 0, 2, 4]

for i in numbers:
    try:
        print(1024 / i)
    except:
        print('分母不能为“0”')
    finally:
        print('不管有没有异常,我都会执行')

执行结果:
Python~try--except--else异常处理_第5张图片

你可能感兴趣的:(Python,python)