在程序开发中,如果对某些代码的执行不能确定(程序语法完全正确)

可以增加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文件中;的更多相关文章

  1. java将数据写入到txt文件中(txt有固定的格式)

    java将数据写入到txt文件中,这个应该对于学过java I/O的人来说是很简单的事情了,但是如果要将数据以固定的格式写入到txt文件中,就需要一定的技巧了. 这里举个简单的例子,以供参考: 比如我 ...

  2. 配置信息写入到.ini文件中的方法

    在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中 1.所用的WINAP ...

  3. 获取file中字段,写入到TXT文件中

    一下代码省略了很多,哈哈哈 a.txt文件 uid,type,pointx,pointy,name1,9,911233763,543857286,区间测速起点3,9,906371086,5453354 ...

  4. 如何使用命令将文件夹中的文件名(包括路径)写入到txt文件中

    在cmd中使用 cd /d 路径,进入当前文件夹中 使用 dir /s /b > 0.txt 如图:

  5. java的io操作(将字符串写入到txt文件中)

    import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java ...

  6. C# 将DataTable数据写入到txt文件中

    见代码: /// <summary> /// 将DataTable里面的内容写入txt文件 /// </summary> /// <param name="dt ...

  7. linux重定向总结:如何将shell命令的输出信息自动输出到文件中保存

    在做批量实验室,例如跑批量MR的作业,我们会写好shell脚本,然后启动脚本,等所有作业执行完再去看结果,但是这些执行时的信息如何保存下来到文件中呢?下面这个命令可以完成这个任务. sh batchj ...

  8. 把cmd信息中的正常和异常输出分别输出到不同txt文件中

    场景一: 1.大量滚动信息容纳不下,在小黑屏中被冲刷掉. 2.希望把正常输出和异常输出分别输出到不同地方. 相关命令 一共有4个输出到文件的命令,现以jar命令打war包举例说明: 命令 说明 举例  ...

  9. python操作txt文件中数据教程[4]-python去掉txt文件行尾换行

    python操作txt文件中数据教程[4]-python去掉txt文件行尾换行 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文章 python操作txt文件中数据教程[1]-使用pyt ...

  10. python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件

    python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...

随机推荐

  1. 2021-06-20:已知一个消息流会不断地吐出整数 1~N,但不一定按照顺序依次吐出。如果上次打印的序号为i, 那么当i+1出现时,请打印 i+1 及其之后接收过的并且连续的所有数,直到1~N全部接

    2021-06-20:已知一个消息流会不断地吐出整数 1~N,但不一定按照顺序依次吐出.如果上次打印的序号为i, 那么当i+1出现时,请打印 i+1 及其之后接收过的并且连续的所有数,直到1~N全部接 ...

  2. 不是单例的单例——巧用ClassLoader

    本文通过如何将一个单例类实例化两次的案例,用代码实践来引入 Java 类加载器相关的概念与工作机制.理解并熟练掌握相关知识之后可以扩宽解决问题的思路,另辟蹊径,达到目的. 背景 单例模式是最常用的设计 ...

  3. 【深入浅出 Yarn 架构与实现】6-4 Container 生命周期源码分析

    本文将深入探讨 AM 向 RM 申请并获得 Container 资源后,在 NM 节点上如何启动和清理 Container.将详细分析整个过程的源码实现. 一.Container 生命周期介绍 Con ...

  4. 初等数论——素数,逆元,EXGCD有关

    初等数论 素数定义 设整数 \(p\ne 0,\pm 1\) .如果 \(p\) 除了平凡约数以外没有其他约数,那么称 \(p\) 为素数(不可约数). 若整数 \(a\ne 0,\pm 1\) 且 ...

  5. Python数据类型 - 元祖

    介绍 元祖和列表都是有序数列,列表是用 [ ],元祖使用() 元祖不同的地方在于创建后不能修改   注意:当元祖中只有一个元素的时候,要加上逗号(一个括号会被当成运算符使用) 比如: (123, ) ...

  6. Android SmartTable表格框架1_如何使用

    SmartTable github地址:https://github.com/huangyanbin/smartTable 参考:https://juejin.cn/post/684490354910 ...

  7. 00.Webstrom的基本入门设置

    1.取消红框类自动打开项目 2.打开轮滚缩放代码 3.设置代码字体,这里选择的是Consolas 推荐免费字体:https://files.cnblogs.com/files/huadaxia/jet ...

  8. Docker安装MS SQL Server并使用Navicat远程连接

    MS SQL Server简介 Microsoft SQL Server(简称SQL Server)是由微软公司开发的关系数据库管理系统,它是一个功能强大.性能卓越的企业级数据库平台,用于存储和处理大 ...

  9. day08-SpringCloud Gateway-服务网关

    SpringCloud Gateway-服务网关 1.Gateway介绍 1.1引出问题 没有使用网关服务时: 使用网关服务后: 1.2Gateway网络拓扑图 1.3Gateway是什么 官网:Sp ...

  10. 在R中子集化数据框的5种方法

    由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. 通常,我们在使用大型数据集时,只会对其中的一小部分感兴趣,用以进行特定分析. 那么,我们应该如 ...