Rsh API  SDK 2.1
Документация по программированию
 Указатель Классы Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы Страницы
Открытые статические члены | Полный список членов класса
Класс RshError

Набор методов для формирования сообщений об ошибках. Подробнее...

#include <RshError.h>

Открытые статические члены

static U32 GetSystemErrorDescription (U32 error, wchar_t *str, U32 maxLength)
 Получение описания по системному коду ошибки в формате UTF-16. Подробнее...
 
static U32 GetSystemErrorDescription (U32 error, char *str, U32 maxLength)
 Получение описания по системному коду ошибки. Подробнее...
 
static U32 GetSystemErrorDescription (U32 error, std::string &str)
 
static U32 GetSystemErrorDescription (U32 error, std::wstring &str)
 
static U32 GetErrorDescription (U32 error, wchar_t *str, U32 maxLength, RSH_LANGUAGE language=RSH_LANGUAGE_ENGLISH)
 Получение сообщения об ошибке по коду из Rsh Api в формате UTF-16. Подробнее...
 
static U32 GetErrorDescription (U32 error, char *str, U32 maxLength, RSH_LANGUAGE language=RSH_LANGUAGE_ENGLISH)
 Получение сообщения об ошибке по коду из Rsh Api. Подробнее...
 
static U32 GetErrorDescription (U32 error, std::wstring &str, RSH_LANGUAGE language=RSH_LANGUAGE_ENGLISH)
 
static U32 GetErrorDescription (U32 error, std::string &str, RSH_LANGUAGE language=RSH_LANGUAGE_ENGLISH)
 
static void PrintError (U32 error, RSH_LANGUAGE language=RSH_LANGUAGE_ENGLISH, bool includeSystemErrorInfo=false)
 Печать описания ошибки. Подробнее...
 
static void PrintErrorDebug (U32 error, const wchar_t *message, bool includeSystemErrorInfo=false)
 Печать отладочного сообщения. Подробнее...
 
static void PrintErrorDebug (U32 error, const char *message, bool includeSystemErrorInfo=false)
 

Подробное описание

Набор методов для формирования сообщений об ошибках.

Используя данный класс можно получить сообщения об ошибках на основе кодов Rsh Api (RSH_STATUS), а также системных кодах ошибок.

Методы

U32 RshError::GetErrorDescription ( U32  error,
wchar_t *  str,
U32  maxLength,
RSH_LANGUAGE  language = RSH_LANGUAGE_ENGLISH 
)
static

Получение сообщения об ошибке по коду из Rsh Api в формате UTF-16.

Аргументы
[in]errorКод ошибки.
[in,out]strУказатель на буфер (строку), в который будет помещено описание ошибки
[in]maxLengthМаксимальная длина сообщения об ошибке (фактически, размер выделенной памяти для буфера str).
[in]languageОдна из констант списка RSH_LANGUAGE.
Возвращает
RSH_API_SUCCESS или код ошибки

Используя данный метод можно получить детальное описание ошибки по ее коду.

Прим.
Параметр error маскируется с 0xFFFF0000, поэтому можно передавать в этот метод коды ошибок, возвращаемые различными функциями Rsh Api.
См. также
RSH_STATUS | Пример использования
Примеры:
RshError_RU.cpp.

Перекрестные ссылки RSH_API_MEMORY_COPYERROR, RSH_API_PARAMETER_INVALID, RSH_API_PARAMETER_ZEROADDRESS и RSH_API_SUCCESS.

Используется в GetErrorDescription(), PrintError() и PrintErrorDebug().

Граф вызова функции:

U32 RshError::GetErrorDescription ( U32  error,
char *  str,
U32  maxLength,
RSH_LANGUAGE  language = RSH_LANGUAGE_ENGLISH 
)
static

Получение сообщения об ошибке по коду из Rsh Api.

Аргументы
[in]errorКод ошибки.
[in,out]strУказатель на буфер (строку), в который будет помещено описание ошибки
[in]maxLengthМаксимальная длина сообщения об ошибке (фактически, размер выделенной памяти для буфера str).
[in]languageОдна из констант списка RSH_LANGUAGE.
Возвращает
RSH_API_SUCCESS или код ошибки

Используя данный метод можно получить детальное описание ошибки по ее коду.

Прим.
Параметр error маскируется с 0xFFFF0000, поэтому можно передавать в этот метод коды ошибок, возвращаемые различными функциями Rsh Api.
См. также
RSH_STATUS | Пример использования
Необходимо сделать:
Linux версия данного метода, возможно, имеет проблемы с кодировкой (проверить)

Перекрестные ссылки GetErrorDescription(), RSH_API_MEMORY_COPYERROR, RSH_API_PARAMETER_INVALID, RSH_API_PARAMETER_ZEROADDRESS и RSH_API_SUCCESS.

Граф вызовов:

U32 RshError::GetErrorDescription ( U32  error,
std::wstring &  str,
RSH_LANGUAGE  language = RSH_LANGUAGE_ENGLISH 
)
static

Перекрестные ссылки RSH_LANGUAGE_ENGLISH, RSH_LANGUAGE_RUSSIAN и rshUTF16.

U32 RshError::GetErrorDescription ( U32  error,
std::string &  str,
RSH_LANGUAGE  language = RSH_LANGUAGE_ENGLISH 
)
static

Перекрестные ссылки GetErrorDescription() и RSH_API_SUCCESS.

Граф вызовов:

U32 RshError::GetSystemErrorDescription ( U32  error,
wchar_t *  str,
U32  maxLength 
)
static

Получение описания по системному коду ошибки в формате UTF-16.

Аргументы
[in]errorСистемный код ошибки.
Можно передать errno (для Linux) или GetLastError() (для Windows)
[in,out]strУказатель на буфер (строку), в который будет помещено описание ошибки
[in]maxLengthМаксимальная длина сообщения об ошибке (фактически, размер выделенной памяти для буфера str).
Возвращает
RSH_API_SUCCESS или код ошибки

Для формирования сообщения по коду ошибки используется вызов системной функции (зависит от операционной системы). Результат этого вызова возвращается в формате UTF-16.

Прим.
Параметр error маскируется с 0xFFFF, поэтому можно передавать в этот метод коды ошибок, возвращаемые различными функциями Rsh Api.
См. также
Пример использования
Примеры:
RshError_RU.cpp.

Перекрестные ссылки RSH_API_MEMORY_COPYERROR, RSH_API_PARAMETER_INVALID, RSH_API_PARAMETER_ZEROADDRESS и RSH_API_SUCCESS.

Используется в GetSystemErrorDescription(), PrintError() и PrintErrorDebug().

Граф вызова функции:

U32 RshError::GetSystemErrorDescription ( U32  error,
char *  str,
U32  maxLength 
)
static

Получение описания по системному коду ошибки.

Аргументы
[in]errorСистемный код ошибки.
Можно передать errno (для Linux) или GetLastError() (для Windows)
[in,out]strУказатель на буфер (строку), в который будет помещено описание ошибки
[in]maxLengthМаксимальная длина сообщения об ошибке (фактически, размер выделенной памяти для буфера str).
Возвращает
RSH_API_SUCCESS или код ошибки

Для формирования сообщения по коду ошибки используется вызов системной функции (зависит от операционной системы). Результат этого вызова возвращается в формате ANSI.

Прим.
Параметр error маскируется с 0xFFFF, поэтому можно передавать в этот метод коды ошибок, возвращаемые различными функциями Rsh Api.
См. также
Пример использования
Необходимо сделать:
Linux версия данного метода, возможно, имеет проблемы с кодировкой (проверить)

Перекрестные ссылки GetSystemErrorDescription(), RSH_API_MEMORY_COPYERROR, RSH_API_PARAMETER_INVALID, RSH_API_PARAMETER_ZEROADDRESS и RSH_API_SUCCESS.

Граф вызовов:

U32 RshError::GetSystemErrorDescription ( U32  error,
std::string &  str 
)
static

Перекрестные ссылки GetSystemErrorDescription() и RSH_API_SUCCESS.

Граф вызовов:

U32 RshError::GetSystemErrorDescription ( U32  error,
std::wstring &  str 
)
static

Перекрестные ссылки NULL, RSH_API_FUNCTION_ERRORHAPPEND и RSH_API_SUCCESS.

void RshError::PrintError ( U32  error,
RSH_LANGUAGE  language = RSH_LANGUAGE_ENGLISH,
bool  includeSystemErrorInfo = false 
)
static

Печать описания ошибки.

Аргументы
[in]errorКод ошибки, полученный в результате вызова функций из Rsh Api.
[in]languageОдна из констант списка RSH_LANGUAGE.
[in]includeSystemErrorInfoЕсли данный флаг установлен (true), дополнительно будет напечатана информация о системном коде ошибки.
Чтобы данный флаг сработал, в младшем слове параметра error должен содержаться системный код ошибки (error & 0xFFFF != 0).

Данный метод используется для вывода детального сообщения об ошибке в стандартный поток вывода.

Прим.
Системные сообщения об ошибках иногда не могут быть переведены на язык, отличный от дефолтного в системе. В этом случае параметр language будет проигнорирован.
См. также
Пример использования
Примеры:
GSPF-052PCI_Generate.cpp, GSPF-053USB_Generate.cpp, LA-1.5PCI_Persistent.cpp, LA-1.5PCI_Port.cpp, LA-1.5PCI_StartStop.cpp, LA-20USB_Persistent.cpp, LA-20USB_Port.cpp, LA-20USB_StartStop.cpp, LA-2M5PCI_Persistent.cpp, LA-2M5PCI_Port.cpp, LA-2M5PCI_StartStop.cpp, LA-2USB_Persistent.cpp, LA-2USB_Port.cpp, LA-2USB_StartStop.cpp, LA-50USB_Persistent.cpp, LA-50USB_Port.cpp, LA-50USB_StartStop.cpp, LA-5Net_Persistent.cpp, LA-5Net_Port.cpp, LA-5Net_StartStop.cpp, LA-i24USB_Persistent.cpp, LA-i24USB_Port.cpp, LA-i24USB_StartStop.cpp, LA-n10-12PCI_StartStop.cpp, LA-n10-12USB_StartStop.cpp, LA-n10M8-100PCI_StartStop.cpp, LA-n10M8-500PCI_StartStop.cpp, LA-n150PCI_Persistent.cpp, LA-n150PCI_Port.cpp, LA-n150PCI_StartStop.cpp, LA-n1USB_StartStop.cpp, LA-n20-12PCI_Port.cpp, LA-n20-12PCI_StartStop.cpp, LA-n2USB_StartStop.cpp, LA48DPCI_Port.cpp, Leonardo2_Persistent.cpp, Leonardo2_Port.cpp, Leonardo2_StartStop.cpp, Python_Continuous.cpp, Python_Port.cpp, Python_StartStop.cpp, RshError_RU.cpp и Sirius_StartStop.cpp.

Перекрестные ссылки GetErrorDescription(), GetSystemErrorDescription(), RSH_API_SUCCESS, RSH_LANGUAGE_RUSSIAN и rshUTF16.

Граф вызовов:

void RshError::PrintErrorDebug ( U32  error,
const wchar_t *  message,
bool  includeSystemErrorInfo = false 
)
static

Печать отладочного сообщения.

Аргументы
[in]errorКод ошибки, полученный в результате вызова функций из Rsh Api.
[in]messageОписание параметра message.
[in]includeSystemErrorInfoЕсли данный флаг установлен (true), дополнительно будет напечатана информация о системном коде ошибки.
Чтобы данный флаг сработал, в младшем слове параметра error должен содержаться системный код ошибки (error & 0xFFFF != 0).

Данный метод является аналогом метода PrintError(), со следующими отличиями:

  • При выводе сообщений всегда используется английский язык.
  • Можно передать дополнительную строку, которая будет напечатана вместе с описанием ошибки.
См. также
Пример использования
Примеры:
RshError_RU.cpp.

Перекрестные ссылки GetErrorDescription(), GetSystemErrorDescription(), RSH_API_SUCCESS, RSH_LANGUAGE_ENGLISH и rshUTF16.

Используется в PrintErrorDebug().

Граф вызовов:

Граф вызова функции:

void RshError::PrintErrorDebug ( U32  error,
const char *  message,
bool  includeSystemErrorInfo = false 
)
static

Перекрестные ссылки PrintErrorDebug().

Граф вызовов:


Объявления и описания членов классов находятся в файлах: