Python的异常处理流程

2024-11-04 08:34:06

1、打开Python的开发工具IDLE,新建‘except.py’并写代码如下:list1 = [a,b]这样定义列表是错误的,因为列表存的不是字符串等类型,而是一个未定义的变量

Python的异常处理流程

2、F5运行程序,shell中打印错误信息:Traceback (most recent call last): File "C:/Python36/except.py", line 2, in <module> list1 = [a,b]NameError: name 'a' is not defined

Python的异常处理流程

3、我们来捕捉一下这个NameError,代码如下:try: list1 = [a,b]except NameError as e: print (e) print ('捕捉到了异常')

Python的异常处理流程

4、F5运行程序,shell中打印捕捉到底异常信息:name 'a' is not defined捕捉到了异常可以看到try ...except执行时候,当发生异常情况会从异常代码直接跳转到except代码部分,异常代码后的代码不会执行。

Python的异常处理流程

5、改写代码换成其他情况的异常,代码如下:try: list1 = ['a','b'] dic = dict(list1)except NameError as e: print (e) print ('捕捉到了异常')

Python的异常处理流程

6、F5运行程序,shell中打印错误信息:Traceback (most recent call last): File "C:/Python36/except.py", line 3, in <module> dic = dict(list1)ValueError: dictionary update sequence element #0 has length 1; 2 is required这是ValueError,用NameError无法再捕获异常。

Python的异常处理流程

7、可以用这些异常的父类来捕获所有异常,改写‘except.py’代码如下:try: list1 = ['a','b'] dic = dict(list1)except Exception as e: print (e) print ('捕捉到了异常')

Python的异常处理流程

8、F5运行程序,shell中打印错误信息:dictionary update sequence element #0 has length 1; 2 is required捕捉到了异常

Python的异常处理流程

9、如果没有发生异常语句逻辑是try..except..else,执行完try后执行else后的代码,最后如果发不发生异常都希望执行的语句是finally,改写‘except.py’代码如下;try: list1 = ['a','b'] dic = dict(list1)except Exception as e: print (e) print ('捕捉到了异常')else: print ('不发生异常执行')finally: print ('发不发生异常都执行')

Python的异常处理流程

10、F5运行程序,shell中打印信息如下:dictionary update sequence element #0 has length 1; 2 is required捕捉到了异常发不发生异常都执行

Python的异常处理流程
猜你喜欢