[Bug] 使用裸except语句捕获所有异常,掩盖真正的错误
## 问题描述
在代码中使用了裸 `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 条评论