运行报错太长时的显示问题
Sadwy opened this issue · 5 comments
Sadwy commented
kingmo888 commented
这与stand本身无关。
stand使用的前提就是你的代码运行无错。
正确的处理方法是将你的代码debug没啥问题后在使用。
如果懒得那样做,那把exe拖到cmd中运行,这样msgbox里的错误信息也会在cmd中显示出来。
PS:明明readme中比较明确的说明该调试方式。
Sadwy commented
这与stand本身无关。
stand使用的前提就是你的代码运行无错。
正确的处理方法是将你的代码debug没啥问题后在使用。如果懒得那样做,那把exe拖到cmd中运行,这样msgbox里的错误信息也会在cmd中显示出来。
PS:明明readme中比较明确的说明该调试方式。
- 我是将exe拖到cmd里运行的, 但是仅仅在弹窗中出现报错, cmd里没有显示报错信息.
- 代码在本机上已跑通, 但是放到其他电脑上报错. 我需要这个报错信息来找到原因.
myd7349 commented
启动代码里有这一段:
Lines 358 to 365 in c8a9cd8
意味着,GUI 模式下任何未经处理的异常都会由 MessageBox 显示,以前从命令行查看出错信息的方法失效了。
要想绕过这段代码,可以在自己的启动脚本里添加:
try:
main()
except Exception:
with open('PyStand.log', 'w', encoding='utf-8') as fp:
import traceback
traceback.print_exc(file=fp)
Sadwy commented
启动代码里有这一段:
Lines 358 to 365 in c8a9cd8
意味着,GUI 模式下任何未经处理的异常都会由 MessageBox 显示,以前从命令行查看出错信息的方法失效了。
要想绕过这段代码,可以在自己的启动脚本里添加:
try: main() except Exception: with open('PyStand.log', 'w', encoding='utf-8') as fp: import traceback traceback.print_exc(file=fp)
感谢. 我在执行你提供的代码时无法生成PyStand.log文件, 最终我使用以下代码解决了我的问题:
try:
main()
except Exception as e:
import logging
logging.basicConfig(filename='PyStand.log', format='%(asctime)s - %(levelname)s - %(message)s')
logging.error(str(e))