什么是异常?
异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。
一般情况下,在Python无法正常处理程序时就会发生一个异常。
异常是Python对象,表示一个错误。
当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。
常见的异常:
FileNotFoundError 文件未找到异常
BaseException 所有异常的基类
NameError 未声明/初始化对象 (没有属性)
异常处理
捕捉异常可以使用try/except语句或者 try-finally 语句
语法如下
1,try/except语句
try:
<语句> #运行别的代码
except <名字>:
<语句> #如果在try部份引发了'name'异常
except <名字>,<数据>:
<语句> #如果引发了'name'异常,获得附加的数据
else:
<语句> #如果没有异常发生
2, try-finally 语句
try-finally 语句无论是否发生异常都将执行最后的代码。
try:
<语句>
finally:
<语句> #退出try时总会执行
raise
例如:
try:
fh = open("uploadfile", "w")
fh.write("这是一个上传文件,用于测试异常!!")
except NameError:
print ("Error: 没有找到文件或读取文件失败")
else:
print ("内容写入文件成功")
fh.close()
try:
fh = open("uploadfile", "w")
fh.write("这是一个上传文件,用于测试异常!!")
finally:
print "Error: 没有找到文件或读取文件失败"
用户自定义异常
通常是用户定义异常,出问题时为了方便查找定位,输出自己想要的具体错误信息。