解决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 urllib、urllib2、httplib抓取网页代码实例
May 09 Python
启动targetcli时遇到错误解决办法
Oct 26 Python
浅谈Django REST Framework限速
Dec 12 Python
hmac模块生成加入了密钥的消息摘要详解
Jan 11 Python
win7下python3.6安装配置方法图文教程
Jul 31 Python
python快排算法详解
Mar 04 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
Mar 30 Python
tensorflow多维张量计算实例
Feb 11 Python
jupyter实现重新加载模块
Apr 16 Python
python使用建议技巧分享(三)
Aug 18 Python
详解Python中string模块除去Str还剩下什么
Nov 30 Python
python中reload重载实例用法
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
让PHP COOKIE立即生效,不用刷新就可以使用
2011/03/09 PHP
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
2013/03/06 PHP
apache配置虚拟主机的方法详解
2013/06/17 PHP
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
JS实现在网页中弹出一个输入框的方法
2015/03/03 Javascript
JavaScript转换二进制编码为ASCII码的方法
2015/04/16 Javascript
JQuery中两个ul标签的li互相移动实现方法
2015/05/18 Javascript
浅析JavaScript作用域链、执行上下文与闭包
2016/02/01 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
JS实现的打字机效果完整实例
2016/06/20 Javascript
js创建数组的简单方法
2016/07/27 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
JavaScript之DOM_动力节点Java学院整理
2017/07/03 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
微信小程序自定义组件实现tabs选项卡功能
2018/07/14 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
在Express中提供静态文件的实现方法
2019/10/17 Javascript
[37:45]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS Orenda
2014/05/22 DOTA
[58:12]Ti4第二日主赛事败者组 LGD vs iG 3
2014/07/21 DOTA
Python的加密模块md5、sha、crypt使用实例
2014/09/28 Python
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
python操作excel文件并输出txt文件的实例
2018/07/10 Python
Python基础之文件读取的讲解
2019/02/16 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
Vivo俄罗斯官方在线商店:中国智能手机品牌
2019/10/04 全球购物
Linux如何修改文件和文件夹的权限
2012/06/27 面试题
房地产融资计划书
2014/01/10 职场文书
2014大学生全国两会学习心得体会
2014/03/13 职场文书
家长学校培训材料
2014/08/20 职场文书
幼儿园学前班幼儿评语
2014/12/29 职场文书
预备党员入党感想
2015/08/10 职场文书
Python爬虫:从m3u8文件里提取小视频的正确操作
2021/05/14 Python
Windows 11要来了?微软文档揭示Win11太阳谷 / Win10有两个不同版本
2021/11/21 数码科技
MySQL 条件查询的常用操作
2022/04/28 MySQL