添加了对于异常的逻辑功能