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文件中 ...
随机推荐
- 这个字段我明明传了呀,为什么收不到 - Spring 中首字母小写,第二个字母大写造成的参数问题
问题现象 vSwitchId.uShape.iPhone... 这类字段名,有什么特点?很容易看出来吧,首字母小写,第二个字母大写.它们看起来确实是符合 Java 中对字段所推崇的"小驼峰命 ...
- 2023-02-21:请用go语言调用ffmpeg,解码mp4文件,输出视频信息和总帧数。
2023-02-21:请用go语言调用ffmpeg,解码mp4文件,输出视频信息和总帧数. 答案2023-02-21: 使用 github.com/moonfdd/ffmpeg-go 库,这个库比go ...
- 2020-12-25:MQ中,如何保证消息的顺序性?
福哥答案2020-12-25:[稍微详细的答案:](http://bbs.xiangxueketang.cn/question/875)生产者保证消息入队的顺序.MQ 本身是一种先进先出的数据接口,将 ...
- ModuleNotFoundError: No module named 'pyecharts'
ModuleNotFoundError: No module named 'pyecharts' 解决: pip install pyecharts
- Java中序列化和反序列化解释
在Java中,序列化(Serialization)是指将对象的状态转换为字节流的过程,以便将其保存到文件.在网络中传输或持久化到数据库中.而反序列化(Deserialization)则是将字节流转换回 ...
- Spectre.Console-处理依赖注入
引言 之前说的做自动记录 Todo 执行过程中消耗的时间的Todo 项目,由于想持续保持程序执行,就放弃了 Spectre.Console.Cli,后来随着命令越来越多,自己处理觉得很是麻烦,想了想要 ...
- mybatis-plus-generator-ui 可视化代码生成器!
它提供交互式的Web UI用于生成兼容mybatis-plus框架的相关功能代码,包括Entity,Mapper,Mapper.xml,Service,Controller等. 可以自定义模板以及各类 ...
- 一文搞懂V8引擎的垃圾回收机制
前言 我们平时在写代码的过程中,好像很少需要自己手动进行垃圾回收,那么V8是如何来减少内存占用,从而避免内存溢出而导致程序崩溃的情况的.为了更高效地回收垃圾,V8引入了两个垃圾回收器,它们分别针对不同 ...
- Java 输入字符串,统计大写字母,小写字母,数字字符的个数
代码如下: public static void main(String[] args) { String str = "AaFsECvcS12483fs+-*/"; int bi ...
- GO web学习(二)
跟着b站https://space.bilibili.com/361469957 杨旭老师学习做的笔记 Response响应 ResponseWriter 包括Writer,WriterHeader, ...