程序中的异常捕获(try.....except.......)

        try....except.... 用于捕获python中的代码异常,当一段程序出现异常错误时,整个程序结束运行,异常错误之后的代码,也不会执行。当异常被捕获之后,可以进行自定义处理,可以保证程序可以继续正常执行。

1.try:要检测异常的代码,如果try中没有异常,不执行except之后的代码。 Exception 是所有错误类型的基类。如:

list = [1,2,3,4]
try:
    rs = list[0]
    print(rs)
except Exception as e:
    print('123')
    rs = list[-1]

  返回的结果只打印出来了1,没有打印出来123。

 只有当try中的代码出现异常错误时,才会执行except之后的代码块,可以使用except监测指定的错误类型。如:

list = [1,2,3,4]
try:
    rs = list[6]
    print(rs)
except IndexError as e:
    print(e)

 在list中,没有索引为6的数据,所以try中的代码块不会执行。在except中我们指定的错误类型为IndexError,程序运行的结果  为:  list index out of range

2.可以指定异常错误类型,如果有多个,用(E1、E2......)括起来。如:

except (IndexError,NameError) as e:

    print(e)

3.若try中的代码抛出异常,执行except后的代码;若try中的代码没有异常,执行else后的代码。如:

try:
    int('123')
except Exception as e:
    print(e)
else:
    print('....')

  返回的结果为else中打印的结果。

4.(1)try中的代码出现异常,先执行except后的代码,后执行finally后的代码;

   (2)try中的代码没有异常,先执行else后的代码块,后执行finally后的代码块;

   (3)无论try中的代码是否出现异常,最后都会执行finally后的代码。

    例子如下:

try:
    int('123')
except Exception as e:
    print(e)
else:
    print('else....')
finally:
    print('=======')

希望可以对大家提供一点帮助。

你可能感兴趣的:(程序中的异常捕获(try.....except.......))