解决pyqt5异常退出无提示信息的问题


Posted in Python onApril 08, 2020

问题:在pyqt界面运行中会异常退出,但是无出错代码追踪信息。

解决方法:

解决pyqt5异常退出无提示信息的问题

选中Emulate terminal in output console即可显示错误信息。

补充知识:python logging 日志 通过修饰器获取错误信息

今天公司要求研究一下python日志相关的信息,用户通过使用图形化界面产生错误后并不知道为什么报错。因此,要通过日志实现记录错误的功能。

import functools
import logging

def create_logger():
  logger = logging.getLogger("test_log")
  logger.setLevel(logging.INFO)
  fh = logging.FileHandler("test.log")
  fmt = "\n[%(asctime)s-%(name)s-%(levelname)s]: %(message)s"
  formatter = logging.Formatter(fmt)
  fh.setFormatter(formatter)
  logger.addHandler(fh) 
  return logger

def log_exception(fn):
  @functools.wraps(fn)
  def wrapper(*args, **kwargs):

    logger = create_logger()
    try:
      fn(*args, **kwargs)
    except Exception as e:
      logger.exception("[Error in {}] msg: {}".format(__name__, str(e)))
      raise
  return wrapper


@log_exception
def tain(x):
  x=10
  def nat():
    print u
  nat()

tain(1)

运行它之后会生成一个test.log的日志文件,当报错时,会把错误记录起来。

以上这篇解决pyqt5异常退出无提示信息的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python os模块学习笔记
Jun 21 Python
Python实现批量转换文件编码的方法
Jul 28 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
Nov 21 Python
python利用OpenCV2实现人脸检测
Apr 16 Python
Pytorch卷积层手动初始化权值的实例
Aug 17 Python
Python笔记之代理模式
Nov 20 Python
python找出列表中大于某个阈值的数据段示例
Nov 24 Python
Python日志处理模块logging用法解析
May 19 Python
python 中关于pycharm选择运行环境的问题
Oct 31 Python
python 生成正态分布数据,并绘图和解析
Dec 21 Python
Python 多线程之threading 模块的使用
Apr 14 Python
Python实现科学占卜 让视频自动打码
Apr 09 Python
python由已知数组快速生成新数组的方法
Apr 08 #Python
TensorFlow2.X使用图片制作简单的数据集训练模型
Apr 08 #Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
Apr 08 #Python
使用Python将Exception异常错误堆栈信息写入日志文件
Apr 08 #Python
TensorFlow2.X结合OpenCV 实现手势识别功能
Apr 08 #Python
python 安装库几种方法之cmd,anaconda,pycharm详解
Apr 08 #Python
TensorFlow2.1.0最新版本安装详细教程
Apr 08 #Python
You might like
DSP接收机前端设想
2021/03/02 无线电
PHP.MVC的模板标签系统(五)
2006/09/05 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
PHP设计模式之适配器模式原理与用法分析
2018/04/25 PHP
Thinkphp5.0框架视图view的模板布局用法分析
2019/10/12 PHP
javaScript parseInt字符转化为数字函数使用小结
2009/11/05 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
2013/09/29 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
微信小程序  生命周期详解
2016/10/27 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
2017/02/15 Javascript
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
vue计算属性无法监听到数组内部变化的解决方案
2019/11/06 Javascript
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
django框架防止XSS注入的方法分析
2019/06/21 Python
html5 canvas实现圆形时钟代码分享
2013/12/25 HTML / CSS
荷兰优雅女装网上商店:Heine
2016/11/14 全球购物
StubHub德国:购买和出售门票
2017/09/06 全球购物
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
同事打架检讨书
2014/02/04 职场文书
学习经验交流会主持词
2014/04/01 职场文书
小区物业门卫岗位职责
2014/04/10 职场文书
群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
实训报告范文大全
2014/11/04 职场文书
最美乡村教师观后感
2015/06/11 职场文书
靠谱准确的求职信
2019/04/02 职场文书
mysql left join快速转inner join的过程
2021/06/30 MySQL
MySQL基础快速入门知识总结(附思维导图)
2021/09/25 MySQL
php png失真的原因及解决办法
2021/10/24 PHP