添加了异常处理