Python 知识量:10 - 41 - 150
由于存在各种不确定因素(例如:在读取文件过程中文件被意外删除等),在程序运行过程中也并非总是一帆风顺的,因此需要一种机制用于处理各种突发情况。Python采取的应对方案是引发异常。
异常是一种特殊的错误对象,程序可以捕获异常,并采取不同的处理措施,例如:跳出当前执行流程或进入异常处理程序等。
下面是一个示例,在读取文件时经常会遇到FileNotFoundError异常:
>>> open('hello.txt') Traceback (most recent call last): File "<pyshell#11>", line 1, in <module> open('hello.txt') FileNotFoundError: [Errno 2] No such file or directory: 'hello.txt'
当试图打开一个不存在的文件时就会引发以上异常。如果不对异常进行捕获处理,程序就会中断,并显示栈追踪,即异常发生前调用的函数清单和异常信息描述,这对程序错误的排查和调试都相当有用。
在使用Python内置函数和库函数的过程中,如果出现意外,系统都会自动抛出异常,就像上节看到的那样。此外,在任何时候,都可以通过raise语句人为抛出异常:
>>> raise IOError('Here is a error.') Traceback (most recent call last): File "<pyshell#17>", line 1, in <module> raise IOError('Here is a error.') OSError: Here is a error. >>> raise FileNotFoundError('Here is a error too.') Traceback (most recent call last): File "<pyshell#19>", line 1, in <module> raise FileNotFoundError('Here is a error too.') FileNotFoundError: Here is a error too.
人为抛出异常可以在必要的时候增加程序的灵活性,完成特定的任务。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6