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文件中 ...
随机推荐
- 2023-04-05:做甜点需要购买配料,目前共有n种基料和m种配料可供选购。 制作甜点需要遵循以下几条规则: 必须选择1种基料;可以添加0种、1种或多种配料,每种类型的配料最多添加2份, 给定长度为
2023-04-05:做甜点需要购买配料,目前共有n种基料和m种配料可供选购. 制作甜点需要遵循以下几条规则: 必须选择1种基料:可以添加0种.1种或多种配料,每种类型的配料最多添加2份, 给定长度为 ...
- 2022-11-22:小美将要期中考试,有n道题,对于第i道题, 小美有pi的几率做对,获得ai的分值,还有(1-pi)的概率做错,得0分。 小美总分是每道题获得的分数。 小美不甘于此,决定突击复习,
2022-11-22:小美将要期中考试,有n道题,对于第i道题, 小美有pi的几率做对,获得ai的分值,还有(1-pi)的概率做错,得0分. 小美总分是每道题获得的分数. 小美不甘于此,决定突击复习, ...
- 2021-09-08:每一个项目都有三个数,[a,b,c]表示这个项目a和b乐队参演,花费为c。每一个乐队可能在多个项目里都出现了,但是只能被挑一次。nums是可以挑选的项目数量,所以一定会有nums
2021-09-08:每一个项目都有三个数,[a,b,c]表示这个项目a和b乐队参演,花费为c.每一个乐队可能在多个项目里都出现了,但是只能被挑一次.nums是可以挑选的项目数量,所以一定会有nums ...
- Charles抓包补充解释
配置 大佬的博客真的很详细很详细,我就不重复造轮子了,第一次直接看大佬的博客就好,这里Python爬取微信小程序(Charles) 补充解释 在这一步疑问很多,大佬说的不是很详细,就由我来补充下吧~ ...
- linux PXE和无人值守
目录 一.pxe概念 二.pxe相关服务 三.pxe装机流程 四.pxe四大文件 五.无人值守 六.实验 自动装机 一.pxe概念 概念:PXE(预启动执行环境)是由Intel公司开发的网络引导技术, ...
- vue iview 单击table行变色 获取行数据
用到两个事件: 代码如下: 1 <Table :columns="columns" :data="tableData" @on-row-click=&qu ...
- Simple Factory Pattern 简单工厂模式简介与 C# 示例【创建型】【设计模式来了】
〇.简介 1.什么是简单工厂模式? 一句话解释: 客户类和工厂类严格分工,客户类只需知道怎么用,处理逻辑交给工厂类. 简单工厂模式(Simple Factory Pattern)是日常开发中常用的 ...
- python学习---logging模块
# shutil 主要更目录和文件有关模块# 拷贝目录 shutil,copy2('原路径', '目标路径')# 拷贝文件# 删除目录'''#为什么要写LOG # log是为了排错: #log 是为了 ...
- Python3.9安装
一.安装python3.9 链接:https://pan.baidu.com/s/1mDkgKt2KSoMrKVxesb76Pg?pwd=ma4n 提取码:ma4n --来自百度网盘超级会员V4的分享 ...
- k8s实战案例之基于StatefulSet控制器运行MySQL一主多从
1.前言 Pod调度运⾏时,如果应⽤不需要任何稳定的标示.有序的部署.删除和扩展,则应该使⽤⼀组⽆状态副本的控制器来部署应⽤,例如 Deployment 或 ReplicaSet更适合⽆状态服务需求, ...