功能
- 用于操作结果的返回
- 标记操作状态的成功与失败
- 失败时有相应的描述信息
源文件
leveldb/status.hleveldb/util/status.cc
内部枚举定义
1 | enum Code { |
属性
- private
const char* state_,用于记录错误具体信息- 默认为
nullptr - 如果为
nullptr,则表示状态为kOk正常 - 格式:
- [:3]:后续错误信息字符串的整体长度(不包含长度记录和错误号字节)
- [4]:错误号(
Code的枚举) - [5:]:错误文字信息
- 最多由两段错误信息拼接而成
- 两段文字中间使用连个字节
:分割
- 默认为
方法
静态方法
主要是用于创建Status的方法
OK,返回正常的Status结构NotFound,返回kNotFound的Status结构Corruption,返回kCorruption的Status结构NotSupported,返回kNotSupported的Status结构InvalidArgument,返回kInvalidArgument的Status结构IOError,返回kIOError的Status结构CopyState,将参数的state字符串完整复制到自身的state中
构造复制函数
分别包含了标准和右值引用优化对应的函数
其他
公共
ok,返回State是否正常IsNotFound,返回State是否为kNotFoundIsCorruption,返回State是否为kCorruptionIsIOError,返回State是否为kIOErrorIsNotSupportedError,返回State是否为kNotSupportedIsInvalidArgument,返回State是否为kInvalidArgumentToString,如果状态正常,则返回”OK”,否则返回对应的错误信息描述
私有
code,将state_中记录的Code提取出来