Tizen Native API
5.5
|
This group discusses the functions that provide error management for projects.
The Eina error module provides a way to manage errors in a simple but powerful way in libraries and modules. It is also used in Eina itself. An extension to libC's errno
and strerror() facilities, this is extensible and recommended for other libraries and applications as well.
While libC's errno
is fixed, Eina_Error can be extended by libraries and applications with domain-specific codes and associated error messages. All errno.h
codes are usable seamlessly with Eina_Error. The constants defined in errno.h will have messages as reported by strerror() in eina_error_msg_get()
Success (no-error) condition is reported with Eina_Error 0 (EINA_ERROR_NO_ERROR).
A simple example of how to use this can be seen here.
Functions | |
Eina_Error | eina_error_msg_register (const char *msg) |
Registers a new error type. | |
Eina_Error | eina_error_msg_static_register (const char *msg) |
Registers a new error type, statically allocated message. | |
Eina_Bool | eina_error_msg_modify (Eina_Error error, const char *msg) |
Changes the message of an already registered message. | |
Eina_Error | eina_error_get (void) |
Returns the last set error. | |
void | eina_error_set (Eina_Error err) |
Sets the last error. | |
const char * | eina_error_msg_get (Eina_Error error) |
Returns the description of the given error number. | |
Eina_Error | eina_error_find (const char *msg) |
Finds the Eina_Error corresponding to a message string. | |
Typedefs | |
typedef int | Eina_Error |
The integer type containing the error type. | |
typedef Eina_Bool | Eina_Success_Flag |
A flag indicating a function completed succesfully. | |
Defines | |
#define | EINA_ERROR_NO_ERROR ((Eina_Error)0) |
No error reported. |
#define EINA_ERROR_NO_ERROR ((Eina_Error)0) |
No error reported.
This is a convenience macro for people that are extra verbose, same as "0".
The integer type containing the error type.
Errors are registered with eina_error_msg_register(), eina_error_msg_static_register() or those inherited from the system's errno.h
such as ENOMEM
.
A flag indicating a function completed succesfully.
Errors are reported with a EINA_FALSE value for Eina_Success_Flag return and success with a EINA_TRUE.
Eina_Error eina_error_find | ( | const char * | msg | ) |
Finds the Eina_Error corresponding to a message string.
This function attempts to match msg
with its corresponding Eina_Error value. If no such value is found, 0
is returned.
[in] | msg | The error message string to match (NOT NULL ) |
msg
, otherwise 0
on failureEina_Error eina_error_get | ( | void | ) |
Returns the last set error.
This function returns the last error set by eina_error_set(). The description of the message is returned by eina_error_msg_get().
const char* eina_error_msg_get | ( | Eina_Error | error | ) |
Returns the description of the given error number.
This function returns the description of an error that has been registered by eina_error_msg_register(). If an incorrect error is given, then NULL
is returned.
[in] | error | The error number |
Eina_Bool eina_error_msg_modify | ( | Eina_Error | error, |
const char * | msg | ||
) |
Changes the message of an already registered message.
This function modifies the message associated with error
and changes it to msg
. If the error is previously registered by eina_error_msg_static_register then the string is not duplicated, otherwise the previous message is unref'ed and msg
is copied.
[in] | error | The Eina_Error to change the message of |
[in] | msg | The description of the error This string is duplicated only if the error is registered with eina_error_msg_register, otherwise it must remain intact for the duration. |
errno.h
, such as ENOMEM
or EBADF
.Eina_Error eina_error_msg_register | ( | const char * | msg | ) |
Registers a new error type.
This function stores the error message described by msg
in a list. The returned value is a unique identifier greater than or equal to 1
. The description can be retrieved later by passing the returned value to eina_error_msg_get().
[in] | msg | The description of the error It is duplicated using eina_stringshare_add(). |
errno.h
, such as ENOMEM
or EBADF
.Eina_Error eina_error_msg_static_register | ( | const char * | msg | ) |
Registers a new error type, statically allocated message.
This function stores the error message described by msg
in a list. The returned value is a unique identifier greater than or equal to 1
. The description can be retrieved later by passing the returned value to eina_error_msg_get().
[in] | msg | The description of the error This string is not duplicated and thus the given pointer should live during the usage of eina_error. |
errno.h
, such as ENOMEM
or EBADF
.void eina_error_set | ( | Eina_Error | err | ) |
Sets the last error.
This function sets the last error identifier. The last error can be retrieved by eina_error_get().
[in] | err | The error identifier |
err
should be 0
(EINA_ERROR_NO_ERROR).The error identifier corresponding to lack of memory.
ENOMEM
from errno.h