解决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实现斐波那契数列的方法示例
Jan 12 Python
Python使用修饰器执行函数的参数检查功能示例
Sep 26 Python
Python实现PS图像调整颜色梯度效果示例
Jan 25 Python
Anaconda 离线安装 python 包的操作方法
Jun 11 Python
8种用Python实现线性回归的方法对比详解
Jul 10 Python
python在openstreetmap地图上绘制路线图的实现
Jul 11 Python
django使用haystack调用Elasticsearch实现索引搜索
Jul 24 Python
django echarts饼图数据动态加载的实例
Aug 12 Python
如何理解python对象
Jun 21 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
Sep 23 Python
python实现AdaBoost算法的示例
Oct 03 Python
Python 类,对象,数据分类,函数参数传递详解
Sep 25 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
简单的用PHP编写的导航条程序
2006/10/09 PHP
用php获取远程图片并把它保存到本地的代码
2008/04/07 PHP
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
php中simplexml_load_string使用实例分享
2014/02/13 PHP
php生成动态验证码gif图片
2015/10/19 PHP
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
2010/12/02 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
Javascript正则控制文本框只能输入整数或浮点数
2014/09/02 Javascript
JavaScript闭包和回调详解
2017/08/09 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
js实现表格单列按字母排序
2020/08/12 Javascript
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
Python中的CURL PycURL使用例子
2014/06/01 Python
Python re模块介绍
2014/11/30 Python
详解Python使用simplejson模块解析JSON的方法
2016/03/24 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
python按时间排序目录下的文件实现方法
2018/10/17 Python
python实现双色球随机选号
2020/01/01 Python
Python之字典添加元素的几种方法
2020/09/30 Python
10个示例带你掌握python中的元组
2020/11/23 Python
selenium自动化测试入门实战
2020/12/21 Python
html5 Canvas实现图片旋转的示例
2018/01/15 HTML / CSS
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
什么是lambda函数
2013/09/17 面试题
教师年终个人自我评价
2013/10/04 职场文书
2014年班主任自我评价范文
2014/04/23 职场文书
投标授权委托书范文
2014/08/02 职场文书
客房部经理岗位职责
2015/02/02 职场文书
幼儿园国庆节活动总结
2015/03/23 职场文书
mysql联合索引的使用规则
2021/06/23 MySQL
HDFS免重启挂载新磁盘
2022/04/06 Servers
多台电脑共享文件怎么设置?多台电脑共享文件操作教程
2022/04/08 数码科技