有时候,多个任务循环在跑,但不想中间任何一个错误,停止主线程,但又想在主线程运行结束后,采集运行过程中所有的错误信息。

这种刁钻的想法,我自问自答,记录一下操作方法。

        err_list = []
mail_str = ''
for uid in self.uid_list:
try:
self.write_or_update_info_in_database(uid)
logger_stream.info(f'uid: {uid} 写入更新成功')
except Exception as e:
logger_stream.info(f'uid: {uid} 写入更新失败')
err_list.append((uid, e)) # 采集各个请求任务的报错信息
for uid, e in err_list:
try:
raise e
except:
exc_type, exc_value, exc_traceback = sys.exc_info()
info_list = traceback.format_exception(exc_type, exc_value,
exc_traceback)
err_info = f'\nuid: {uid} 请求错误, 错误信息如下:\n'
err_info += ''.join(info_list)
err_info += '\n' * 3
mail_str += err_info

  

通过每次调用任务,用except接收错误e

所有任务完成后,通过raise e的方式上浮错误,通过traceback.format_exception的方法获得错误信息字符串的列表,拼接后,就是完成的错误列表内容。

好用方便。

Python循环任务,错误打包输出的更多相关文章

  1. python循环删除列表元素常见错误与正确方法

    python循环删除列表元素 觉得有用的话,欢迎一起讨论相互学习~Follow Me 常见错误 常见错误一:使用固定长度循环删除列表元素 # 使用固定长度循环pop方法删除列表元素 num_list_ ...

  2. Python循环语句

    1.Python循环类型 1.while循环:在某条件下,循环执行某段程序 a. while语句有两个重要命令:continue,break来跳出循环. continue用来跳出该次循环 break用 ...

  3. Python:常见错误集锦(持续更新ing)

    初学Python,很容易与各种错误不断的遭遇.通过集锦,可以快速的找到错误的原因和解决方法. 1.IndentationError:expected an indented block 说明此处需要缩 ...

  4. Python常见的错误汇总

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 错误: [错误分析]第二个参数必须为类,否则会报TypeError,所以正确的应 ...

  5. python 循环语句 函数 模块

    python循环语句 while循环语法结构 当需要语句不断的重复执行时,可以使用while循环 while expression: while_suite 语句ehile_suite会被连续不断的循 ...

  6. 孤荷凌寒自学python第十五天python循环控制语句

    孤荷凌寒自学python第十五天python循环控制语句 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) python中只有两种循环控制语句 一.while循环 while 条件判断式 1: ...

  7. Python循环语句,对象

    Python循环语句,对象 案例1:斐波那契数列 案例2:模拟cp操作 案例3:生成8位随机密码 1 案例1:斐波那契数列 1.1 问题 编写fib.py脚本,主要要求如下: 输出具有10个数字的斐波 ...

  8. Python循环语句代码详解:while、for、break

    1 while循环 循环语句是程序设计中常用的语句之一.任何编程语言都有while循环,Python也不例外.while循环的格式如下所示.  while(表达式):       -   else:  ...

  9. Python使用中文注释和输出中文(原创)

    刚开始学习python,需要在Python中注释中文和输出中文,现在开始尝试: 仅为初步学习参考,高手请绕行. -------------------------------------------- ...

  10. 解决ASP.NET Web API Json对象循环参考错误

    前言 一般我们在开法 ASP.NET Web API 时,如果是使用 Entity Framework 技术来操作数据库的话,当两个 Entity 之间包含导览属性(Navigation Proper ...

随机推荐

  1. Visio中的图无失真导入LaTeX中

    参考网址: LaTeX导入图片不失帧的方法_奋斗的西瓜瓜的博客-CSDN博客_latex图片模糊 LaTeX中插入eps格式图片_不觉岁华成暗度的博客-CSDN博客_eps latex Visio图片 ...

  2. VC如何创建C编译器能使用的动态库

    方法 使用extern "C"修饰 设置统一的调用约定 举例 例1--使用__cdecl,一般C编译器使用此约定,如LabWidnows/CVI. cpp代码 extern &qu ...

  3. 由Restart()想到的

    官方文档: Application.Restart Method (System.Windows.Forms) | Microsoft Docs 目录 Restart 探索 结论 启示 Restart ...

  4. Unity 读取Json文件、创建Json文件

    using System.IO; using UnityEngine; public class ReadJson:MonoBehaviour { public static TestSetting ...

  5. Win10系统所有文件夹被设为只读,取消之后再次打开属性依然只读,怎么解决?

    安装完Nodejs之后发现npm info vue指令没有权限运行: C:\Users\JC>npm info vue npm ERR! code EPERM npm ERR! syscall ...

  6. nmap扫描结果保存 xml to html for windows

    首先 Nmap扫描443端口并保存为xml报告输出 nmap -T5 -Pn -p 443 -iL C:\Users\loki\Desktop\443_Scan.txt -oX C:\Users\lo ...

  7. JS实现打字效果(_会闪烁)

    背景 更新博客园个人博客时,突发奇想想要将子标题的入场特效做成类似Linux命令行输命令时的样式 效果网页:LanceEst - 博客园 (cnblogs.com) 思路和代码 1 <h2 id ...

  8. luna lunatic

    Luna是罗马神话的月神.英语中Lunacy.Lunatic等意指疯狂的字语源均来自Luna.月亮的阴晴圆缺影响地球的潮汐涨退甚至生物周期,故此古时的人们相信月亮拥有使人疯狂的魔力,人狼等传说亦是因此 ...

  9. 为什么手游选择lua热更新方案。

    https://www.zhihu.com/question/29603593 主要因为iOS系统的原因. 在这个知乎问题里,有两条回答,能解释我的疑惑.如下两个图. 我个人总结为,编译型语言(C#) ...

  10. FileStream与StreamReader区别

    FileStream操作字节,更适合大文件. StreamReader操作字符,更适合小文件