python实现在函数中捕获某个异常,然后将异常的具体信息写入error.txt文件中;
在程序开发中,如果对某些代码的执行不能确定(程序语法完全正确)
可以增加try来捕获异常
try这个关键字来捕获异常
try:尝试执行的代码
except:出现错误的处理
def func():
try:
print(a)
except NameError as e1:
with open('error.txt','w') as f:
f.write(str(e1))
func()

完善写法:在函数中捕获某个异常,然后将异常的具体信息写入error1.txt文件中
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.练习
try:
# 不能确定正确执行的代码
num = int(input('请输入一个数字:'))
except:
print('请输入正确的整数') print('*' * 10)

2. 提示用户输入一个整数,并使用8来除以用户输入的整数
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.异常的传递
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
python实现在函数中捕获某个异常,然后将异常的具体信息写入error.txt文件中;的更多相关文章
- java将数据写入到txt文件中(txt有固定的格式)
java将数据写入到txt文件中,这个应该对于学过java I/O的人来说是很简单的事情了,但是如果要将数据以固定的格式写入到txt文件中,就需要一定的技巧了. 这里举个简单的例子,以供参考: 比如我 ...
- 配置信息写入到.ini文件中的方法
在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中 1.所用的WINAP ...
- 获取file中字段,写入到TXT文件中
一下代码省略了很多,哈哈哈 a.txt文件 uid,type,pointx,pointy,name1,9,911233763,543857286,区间测速起点3,9,906371086,5453354 ...
- 如何使用命令将文件夹中的文件名(包括路径)写入到txt文件中
在cmd中使用 cd /d 路径,进入当前文件夹中 使用 dir /s /b > 0.txt 如图:
- java的io操作(将字符串写入到txt文件中)
import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java ...
- C# 将DataTable数据写入到txt文件中
见代码: /// <summary> /// 将DataTable里面的内容写入txt文件 /// </summary> /// <param name="dt ...
- linux重定向总结:如何将shell命令的输出信息自动输出到文件中保存
在做批量实验室,例如跑批量MR的作业,我们会写好shell脚本,然后启动脚本,等所有作业执行完再去看结果,但是这些执行时的信息如何保存下来到文件中呢?下面这个命令可以完成这个任务. sh batchj ...
- 把cmd信息中的正常和异常输出分别输出到不同txt文件中
场景一: 1.大量滚动信息容纳不下,在小黑屏中被冲刷掉. 2.希望把正常输出和异常输出分别输出到不同地方. 相关命令 一共有4个输出到文件的命令,现以jar命令打war包举例说明: 命令 说明 举例 ...
- python操作txt文件中数据教程[4]-python去掉txt文件行尾换行
python操作txt文件中数据教程[4]-python去掉txt文件行尾换行 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文章 python操作txt文件中数据教程[1]-使用pyt ...
- python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件
python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...
随机推荐
- ChatGPT 打字机效果原理
一.背景 在初次使用 ChatGPT 时,我就被打字机的视觉效果吸引.总是感觉似曾相识,因为经常在一些科幻电影中看到,高级文明回传的信息在通讯设备的屏幕上以打字机效果逐步出现,在紧张的氛围下,输出人类 ...
- vue全家桶进阶之路5:DOM文档对象模型
一.DOM对象 DOM,全称"DocumentObjectModel(文档对象模型)",它是由W3C组织定义的一个标准. 在前端开发时,我们往往需要在页面某个地方添加一个元素或者删 ...
- LeetCode刷题,代码随想录算法训练营Day3| 链表理论基础 203.移除链表元素 707.设计链表 206.反转链表
链表理论基础 链表是通过指针串联在一起的线性结构,每个节点由一个数据域和一个指针域构成. 链表的类型 单链表 双链表 有两个指针域,一个指向下一个节点,一个指向上一个节点,既可以向前查询也可以向后查询 ...
- Springboot——参数校验
springboot参数校验注解 在controller层需要对前端传来的参数进行校验 校验简单数据类型 使用springboot自带的validation工具可以从后端对前端传来的数据进行校验 使用 ...
- CKS 考试题整理 (06)-默认网络策略
Context 一个默认拒绝(default-deny)的NetworkPolicy可避免在未定义任何其他NetworkPolicy的namespace中意外公开Pod. Task 为所有类型为Ing ...
- 全球开源 AI 游戏开发挑战赛,只等你来!
我们在之前的文章中 预告过 (*划重点,IP 属地法国):7 月初,我们将举办一次与 AI 游戏相关的黑客松活动,这是有史以来的首次开源游戏开发挑战赛,借助人工智能工具释放你的创造力,一起打破游戏开发 ...
- 【TVM模型编译】2. relay算子构造.md
从TVM的官方Tutorial里面,介绍了如何新增自定义算子.(这是我翻译的) 之前的文章讲到了onnx 算子转换到Relay IR的过程 下面以Conv2d算子介绍,编译过程中 Relay IR是如 ...
- CoFiltering:BestPracticesandTechniquesinTextGeneration
目录 Co-Filtering: Best Practices and Techniques in Text Generation Introduction: Text generation has ...
- 代理详解(java代理和CGLIB动态代理)
[代理]大家都知道,特别是在spring中aop.spring中的事务.spring解析注解@Configuration,以及最原始的解析spring.xml的配置,这些都是使用代理来进行实现的, ...
- Tomcat启动时出现乱码的解决方式
在网上下载了一个版本号为apache-tomcat-8.5.38的Tomcat,因为这个Tomcat一直没有用过,所以今天启动时出现了如下乱码: 解决方案: 找到Tomcat目录下conf文件夹中的l ...