案例一:
try:
fh = open("txtfile.txt", "r")
except IOError:
print("输入输出操作出现异常!")
except Exception:
print("发生错误了,你打开的文件不存在!")
案例二:
try:
fh = open("txtfile.txt", "r")
except Exception:
print("发生错误了,你打开的文件不存在!")
else:
for yy in fh.readlines():
print(yy)
finally:
print("寄语:尽管今天软件有点问题,但是最终合作愉快!")
案例三:
#给小学生做个简单的减法计算器。计算机无法正常抛出异常,用户自己设置陷阱!
try:
x=eval(input("请输入被减法数:"))
y=eval(input("请输入减数:"))
if x<y:
raise ValueError("你输入的数字不合法:第一个数不能小于第二个数")
print("x-y={}".format(x-y))
exceptValueError as e:
print(e)
案例四:
a = (35, 75, 60,-80, 76)
sum = 0
try:
for i in data:
if i < 0: raiseValueError(str(i)+"不正确,成绩不能为负数!")
sum += i
print('平均值=', average(data))
exceptValueError as e:
print(e)
except Exceptionas e:
print(e) #我们在异常的处理中将异常抛出来。
案例五:
try:
f = open('mytext.txt', 'w') #打开要写入的文件
while True:
s = input('请输入字符串(按Q结束):')
if s.upper() == 'Q':
break
f.write(s + '\n')
exceptKeyboardInterrupt:
print('程序中断!(Ctrl-C)')
finally:
f.close()
#-------------------------------日志写入类----------------
class log:
def__init__(self,filename="1.txt",e="Error"):
self.filename=filename
self.error=e
def Writelog(self):
import sys,os
import datetime as dt
strNow=dt.datetime.now().strftime("%Y.%m.%d-%H:%M:%S")
#print(strNow)sys.path[0]为当前目录路径。
withopen(sys.path[0]+"\\1.log",'a') as f:
strFileName=" 异常出现在文件:"+self.filename+\
" 错误发生时间:"+strNow+" 错误为:"+self.error+"\n"
#print(strFileName)
f.write(strFileName)
#---------------------------------以上是写入日志类-----------------
def main():
try:
fh = open("testfile","r")
for yy in fh.readlines():
print(yy)
except IOError as e:
print("发生错误了,请重新打开窗口!")
log1=log(__file__,e.strerror)
log1.Writelog()
将在后台把异常情况写入日志中,便于定期维护管理。