加入异常处理和循环