一些异常处理
代码结构修改