注册
登录
查看:447 | 回复:8
关游戏
python报错后直接退出,有没有办法展示报错内容
发表于 2023/5/23 14:13:11
楼主

未做GUI界面,偶尔遇到报错时,如果不是用cmd方式运行,就会直接闪退,看不到具体的报错信息,

有没有什么办法,可以直接全局拦截住报错,展示报错内容?

白菜
发表于 2023/5/23 14:15:01
沙发

根据报错提示就可以追踪到具体错误的地方了


image.png


紫水
发表于 2023/5/23 14:19:19
板凳

楼上说的没错,

使用异常捕获即可。


白玉
发表于 2023/5/23 14:22:44
4楼

知道哪里报错用try..except语句,不知道哪里报错的话,

可以先调试运行,知道哪里会报错之后用异常捕获再处理


关游戏
发表于 2023/5/23 14:25:49
5楼

try的前提是知道什么地方报错,实际情况很可能是各种奇葩报错,

比如用户输入,比如requests请求,比如读取excel,比如JSON解析等,

一个个做try是不是有点累挺?


白菜
发表于 2023/5/23 14:29:44
6楼

image.png

凑不够
发表于 2023/5/23 14:33:05
7楼

使用debug模式运行, 会在报错退出前停住在报错的位置~


关游戏
发表于 2023/5/23 14:34:45
8楼

在debug模式下是有日志的,但是是打包后,pyinstaller成EXE了,如何保留?报错直接闪退,除非CMD方式运行。


凑不够
发表于 2023/5/23 14:38:58
9楼

项目级别的都会输出日志文件的,方便排查客户运行时的报错

一般在程序入口处加一个try 捕抓异常后输出到日志;

个人习惯是封装一个日志输出的装饰器,在需要的函数添加,

也方便其他项目复用代码.

立即注册站大爷用户,免费试用全部产品
立即注册站大爷用户,免费试用全部产品