Кроме кода возврата для диагностики часто желательно иметь более подробную информацию. Например, имя файла, в котором была обнаружена ошибка. Или текстовое пояснение к коду ошибки.
Для предоставление более подробной информации о результате выполнения какого-либо действия многие API-функции и методы возвращают объект ret_code_t
.
sample/chstate/main.cpp, sample/destroyable_traits/main.cpp, sample/dyn_coop_controlled/main.cpp, sample/dyn_reg/main.cpp, sample/filter/c1.cpp, sample/filter/c2.cpp, sample/filter/server.cpp, sample/hello_all/main.cpp, sample/hello_delay/main.cpp, sample/hello_periodic/main.cpp, sample/hello_world/main.cpp, sample/high_traffic/client.cpp, sample/high_traffic/server.cpp, sample/inheritance/main.cpp, sample/parent_insend/main.cpp, sample/raw_channel/tcp_cln.cpp, sample/raw_channel/tcp_srv.cpp и sample/subscr_hook/main.cpp.
Открытые члены | |
ret_code_t () | |
По умолчанию m_code == 0. | |
ret_code_t (int code) | |
не означает ошибки. | |
ret_code_t (int code, const char *file, int line, const std::string &desc) | |
Конструктор с определением всех значений. | |
ret_code_t (const ret_code_t &o) | |
Конструктор копирования. | |
ret_code_t & | operator= (const ret_code_t &o) |
operator bool () const | |
Возвращает true, если m_code отличен от 0. | |
bool | operator== (int c) const |
bool | operator== (const ret_code_t &o) const |
bool | operator!= (int c) const |
bool | operator!= (const ret_code_t &o) const |
bool | operator! () const |
Возвращает true, если m_code == 0. | |
Открытые атрибуты | |
int | m_code |
Код возврата. | |
const char * | m_file |
Имя файла, в котором был назначен код возврата. | |
int | m_line |
Номер строки файла в котором был назначен код возврата. | |
std::string | m_desc |
Описание ошибки. |
|
не означает ошибки.
|
|
Код возврата. Значение 0 означает успешное выполнение операции. |
|
Описание ошибки. Может быть пустой строкой, если описание ошибки не доступно. |
|
Имя файла, в котором был назначен код возврата. Строка, на которую указывает m_file должна существовать все время, пока существует объект ret_code_t. Лучше всего, если это строка, соответствующая макросу __FILE__. |