ITADN

[Bug] 使用裸except语句捕获所有异常,掩盖真正的错误

#559Opensuntp 创建于 2026-03-05
S
suntpcommented
## 问题描述 在代码中使用了裸 `except:` 语句,这会捕获所有异常,包括键盘中断和系统退出,导致难以调试和掩盖真正的错误。 ## 问题位置 **文件**: `src/live_portrait_wrapper.py` **行号**: 31-33 ## 问题代码 ```python try: if torch.backends.mps.is_available(): self.device = 'mps' else: self.device = 'cuda:' + str(self.device_id) except: self.device = 'cuda:' + str(self.device_id) ``` ## 影响 1. 会捕获所有异常,包括 `KeyboardInterrupt`、`SystemExit` 等 2. 难以调试,真正的错误被隐藏 3. 可能导致程序在错误状态下继续运行 ## 建议修复 ```python try: if torch.backends.mps.is_available(): self.device = 'mps' else: self.device = 'cuda:' + str(self.device_id) except (AttributeError, RuntimeError) as e: log(f"Device detection failed: {e}, fallback to CUDA") self.device = 'cuda:' + str(self.device_id) ``` ## 优先级 **P0** - 建议立即修复 ## 相关信息 - 发现时间: 2026-03-05 - 分析方法: 代码审查
0 条评论