问题:在pyqt界面运行中会异常退出,但是无出错代码追踪信息。
解决方法:
选中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异常退出无提示信息的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/184328/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)