添加了自定义异常与枚举，修正了小bug。