python实现在函数中捕获某个异常,然后将异常的具体信息写入error.txt文件中;
在程序开发中,如果对某些代码的执行不能确定(程序语法完全正确)
可以增加try来捕获异常
try这个关键字来捕获异常
try:尝试执行的代码
except:出现错误的处理
1 2 3 4 5 6 7 8 9 10 11 12 | def func(): try : print (a) except NameError as e1: with open ( 'error.txt' , 'w' ) as f: f.write( str (e1)) func() |
完善写法:在函数中捕获某个异常,然后将异常的具体信息写入error1.txt文件中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | try : # 可能出错的地方 num = int ( input ( '请输入一个整数:' )) result1 = 8 / num print (result1) except ValueError as e1: print ( '输入的不是合法的整数' ) with open ( 'error1.txt' , 'w' ) as f: f.write( str (e1)) except ZeroDivisionError as e2: print ( '除数不为0' ) with open ( 'error2.txt' , 'w' ) as f: f.write( str (e2)) except Exception as e: print ( '未知错误 %s' % (r)) finally : # 无论是否有异常都会执行的代码 print ( '程序结束.....' ) |
代码截图:
error.1.txt
扩展学习:
Python之异常(try的用法)
1.练习
1 2 3 4 5 6 7 | try : # 不能确定正确执行的代码 num = int ( input ( '请输入一个数字:' )) except : print ( '请输入正确的整数' ) print ( '*' * 10 ) |
2. 提示用户输入一个整数,并使用8来除以用户输入的整数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | try : # 可能出错的地方 num = int ( input ( '请输入一个整数:' )) result = 8 / num print (result) # 抛出异常 except ZeroDivisionError: print ( '0不能做除数' ) except ValueError: print ( '输入的值不是合法的整数' ) except Exception as r: print ( '未知错误 %s' % (r)) finally : # 无论是否有异常,都会执行的代码 print ( '--------------' ) |
3.异常的传递
1 2 3 4 5 6 7 8 9 10 11 | def demo1(): return int ( input ( '请输入整数:' )) def demo2(): return demo1() # 一级一级的去找,最终会将异常传递到主函数里 try : print (demo2()) except Exception as r: print ( '未知错误 %s' % r) |
代码截图:
4.补充完善上述 2,增加func()方法、while True循环当达到满足的数据程序结束 ,如果不满足继续输入....
def func():
while True: # 无限循环
try:
a=int(input('请输入一个整数:'))
# print('success')
result1=6/a
print(result1)
print('程序结束....')
break # 输入正确的整数结束循环
except ZeroDivisionError as e1:
print('除数不为0!:'+str(e1))
except ValueError as e2:
print('输入的非整数!:'+str(e2))
finally:
print('......................................')
func()
相关链接:https://blog.csdn.net/weixin_44828950/article/details/91471459
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术