解决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使用正则匹配实现抓图代码分享
Apr 02 Python
在Docker上部署Python的Flask框架的教程
Apr 08 Python
python中json格式数据输出的简单实现方法
Oct 31 Python
Python scikit-learn 做线性回归的示例代码
Nov 01 Python
Python使用post及get方式提交数据的实例
Jan 24 Python
Python实现制度转换(货币,温度,长度)
Jul 14 Python
python 模拟银行转账功能过程详解
Aug 06 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
Aug 17 Python
Python 中 -m 的典型用法、原理解析与发展演变
Nov 11 Python
python统计函数库scipy.stats的用法解析
Feb 25 Python
python使用多线程查询数据库的实现示例
Aug 17 Python
python 6种方法实现单例模式
Dec 15 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
Smarty foreach控制循环次数的实现详解
2013/07/03 PHP
php字符编码转换之gb2312转为utf8
2013/10/28 PHP
win7计划任务定时执行PHP脚本设置图解
2014/05/09 PHP
php计算函数执行时间的方法
2015/03/20 PHP
PHP+jQuery+Ajax实现用户登录与退出
2015/04/27 PHP
php实现给一张图片加上水印效果
2016/01/02 PHP
使用JavaScript创建新样式表和新样式规则
2016/06/14 PHP
laravel + vue实现的数据统计绘图(今天、7天、30天数据)
2018/07/31 PHP
Javascript中的数学函数集合
2007/05/08 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
2016/07/13 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
2016/11/18 Javascript
JQuery 获取Dom元素的实例讲解
2017/07/08 jQuery
JavaScript选取(picking)和反选(rejecting)对象的属性方法
2017/08/16 Javascript
vue小图标favicon不显示的解决方案
2017/09/19 Javascript
了解ESlint和其相关操作小结
2018/05/21 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
详解Vite的新体验
2021/02/22 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
python指定写入文件时的编码格式方法
2018/06/07 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
python中的逆序遍历实例
2019/12/25 Python
基于Python实现简单学生管理系统
2020/07/24 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
Silk’n激光脱毛器官网:silkn.com
2016/10/06 全球购物
为数据库创建索引都需要注意些什么
2012/07/17 面试题
2014年领导班子专项整治整改方案
2014/09/28 职场文书
课题研究阶段性总结
2015/08/13 职场文书
2016年大学生就业指导课心得体会
2015/10/09 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书
漫改真人电影「萌系男友是燃燃的橘色」公开先导视觉图
2022/03/21 日漫
MySql中的json_extract函数处理json字段详情
2022/06/05 MySQL