errors.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
5 namespace mcap {
6 
10 enum class StatusCode {
11  Success = 0,
12  NotOpen,
16  ReadFailed,
26  OpenFailed,
28 };
29 
33 struct [[nodiscard]] Status {
35  std::string message;
36 
38  : code(StatusCode::Success) {}
39 
41  : code(code) {
42  switch (code) {
44  break;
46  message = "not open";
47  break;
49  message = "invalid schema id";
50  break;
52  message = "invalid channel id";
53  break;
55  message = "file too small";
56  break;
58  message = "read failed";
59  break;
61  message = "magic mismatch";
62  break;
64  message = "invalid file";
65  break;
67  message = "invalid record";
68  break;
70  message = "invalid opcode";
71  break;
73  message = "invalid chunk offset";
74  break;
76  message = "invalid footer";
77  break;
79  message = "decompression failed";
80  break;
82  message = "decompression size mismatch";
83  break;
85  message = "unrecognized compression";
86  break;
88  message = "open failed";
89  break;
91  message = "missing statistics";
92  break;
93  default:
94  message = "unknown";
95  break;
96  }
97  }
98 
99  Status(StatusCode code, const std::string& message)
100  : code(code)
101  , message(message) {}
102 
103  bool ok() const {
104  return code == StatusCode::Success;
105  }
106 };
107 
108 } // namespace mcap
StatusCode code
Definition: errors.hpp:34
std::string message
Definition: errors.hpp:35
Status(StatusCode code, const std::string &message)
Definition: errors.hpp:99
Wraps a status code and string message carrying additional context.
Definition: errors.hpp:33
bool ok() const
Definition: errors.hpp:103
Status(StatusCode code)
Definition: errors.hpp:40
StatusCode
Status codes for MCAP readers and writers.
Definition: errors.hpp:10


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Jun 19 2023 03:01:02