修改了异常处理