wx.Image构造函数弹出提示框而非抛异常,如何改为抛出异常?
让wx.Image加载失败时抛出异常而非弹出提示框
wx默认通过日志系统弹出错误提示框,不会主动抛出Python异常,要实现需求可以按以下方式处理:
具体实现代码
import io, wx # 禁用wx默认的错误弹窗输出 wx.Log.SetActiveTarget(wx.LogNull()) with open("imgs/ad.png", "rb") as fid: img_stream = io.BytesIO(fid.read()) img = wx.Image(img_stream, type=wx.BITMAP_TYPE_PNM) # 检查图片加载状态,失败则手动抛出异常 if not img.IsOk(): raise ValueError("Error: This is not a PNM file.")
核心说明
wx.Log.SetActiveTarget(wx.LogNull()):取消wx默认的错误弹窗,将日志输出转向空对象,避免弹窗干扰。img.IsOk():用于判断图片是否成功加载,返回False说明加载失败。- 手动抛出异常:根据加载结果主动抛出对应异常,替代wx的默认弹窗提示,契合Python的异常处理逻辑。
内容的提问来源于stack exchange,提问作者PChemGuy
相关产品推荐
相关产品推荐

