重构，处理异常情况