这几个函数使用 error 做返回值，如果是正常执行了函数，返回值就是 `nil`，如果是执行有问题的时候就可以把错误返回，这样函数就变得测试了。