问题:在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异常退出无提示信息的问题就是小编分享给大家的全部内容了,希望能给大家一个参考。