该章来通过例子了解一下Python中的异常
#1、当未捕获到异常时,执行else语句
try:
f=file("a.txt","r")
while True:
line = f.readline()
if len(line) == 0:
break
print line
else:
print "read end!",
f.close()
except IOError:
print "file is't exist!"
except Exception:
print "have error!"
else:
print "all is ok"
#例子1:捕捉所有异常
a = 3
b = 4
c = 5
try:
a=b
b=c
except Exception ,data :
print Exception ,":",data
#例子2:采用traceback模块查看异常,需要导入traceback模块
import sys
try:
a = b
b = c
except:
import traceback
print traceback.print_exc()
#例子3:采用sys模块回溯最后的异常
try:
a = b
b = c
except:
info = sys.exc_info()
print len(info)
print info
print info[0]
print info[1]
#例子4:finally 语句,不管有没有发生异常都将执行finally语句块。
try:
a= 3/1
finally:
print "exec finally"
#例子5:try-except-finally
import sys
try:
a=3/0
except ZeroDivisionError:
print 'error'
finally:
print "stop exec"
try:
a=5/0
except:
print sys.exc_info()[1]
finally:
print "stop exec"
#例6:引发异常
class MyError( Exception ):
pass
try:
raise MyError #自己抛出一个异常
except MyError:
print 'a error'