考虑异常安全性的解法，高级程序员必备