Python之异常处理
本节重点:理解try,Exception,raise等异常报错
代码如下:
#!/usr/bin/env python
# -*- coding:utf8 -*-
# @Time : 2017/11/8 9:39
# @Author : hantong
# @File : except.py
#异常是一个事件,是一个python对象,表示一个错误
#Exception 所有异常类的基类
#IndexError 超出索引范围错误
a = 5
b = 2
c = 0
try:
a/b
# print(a)
except Exception as e:
print(e)
#a/b能够正常执行,所以代码不会报异常
try:
a/c
except Exception as e:
print(e)
#0不能为除数,所以会报错
try:
with open('1.txt','r') as f:
tt = f.read()
print(tt)
except Exception as e:
print(e)
#文件存在的时候,打开不会报异常
try:
with open('3.txt','r') as f:
tt = f.read()
print(tt)
except Exception as e:
print(e)
raise e
finally:
print('finally')
print('hello world!')
#当文件不存在时,打开会报异常错误
#raise关键字,捕获异常抛出,程序运行终止,但是finally还是会执行的,
#所以finally会打印出来,而hello world就不会被打印出来
执行结果:
integer division or modulo by zero
Traceback (most recent call last):
11111
222
File "E:/Ǩ������/python/pycharm2017pjb/PycharmProjects/except.py", line 37, in <module>
ggg
raise e
eeerr
IOError: [Errno 2] No such file or directory: '3.txt'
jjjj
[Errno 2] No such file or directory: '3.txt'
finally