table of contents
globus_error_generic.h(3) | globus_common | globus_error_generic.h(3) |
NAME¶
globus_error_generic.h - Globus Error API.SYNOPSIS¶
#include 'globus_object.h'Macros¶
#define GLOBUS_ERROR_TYPE_GLOBUS
Typedefs¶
typedef char *(* globus_error_print_friendly_t )(globus_object_t *error, const globus_object_type_t *type)
Functions¶
globus_module_descriptor_t * globus_error_get_source (globus_object_t *error)
Detailed Description¶
Globus Error API.Typedef Documentation¶
typedef char*(* globus_error_print_friendly_t)(globus_object_t *error, const globus_object_type_t *type)¶
If registered with a module's descriptor, this handler will be called on behalf of globus_error_print_friendly() Parameters:error The error chain that originated from this
module. The top error object in the chain will be one created by this module
and have a type of 'type'; The remaining objects are the same as the cause
chain used at creation time. The user can use globus_error_get_type(error) to
get the error code (for GLOBUS_ERROR_TYPE_GLOBUS objects)
type The error object type for the top object in the error chain (e.g.
GLOBUS_ERROR_TYPE_GLOBUS, GLOBUS_ERROR_TYPE_ERRNO)
Returns:
The function should return a newly allocated string with
a friendly error message explaining the error in more detail. This string
should be considered the only message a user will see. If the module has
nothing nice to say, it should return NULL so the next module in the error
chain can be tried.
If you think a friendly error from causes beneath you should be included, you
may use globus_error_print_friendly(globus_error_get_cause(error)) within this
handler to append to your message.
Function Documentation¶
globus_object_t* globus_error_construct_multiple ( globus_module_descriptor_t *base_source, inttype, const char *fmt, ...)¶
Multiple error type stuff Construct a container object for multiple error chains. Useful when an application tries many things (and each fails) before finally giving up; Use globus_error_mutliple_add_chain() to add error objects/chains to this object. Parameters:base_source Pointer to the originating module.
type The error type. We may reserve part of this namespace for common
errors. Errors not in this space are assumed to be local to the originating
module. globus_error_match() will match against this type, but not of
the contained chains.
fmt a printf style format string describing the multiple errors
Returns:
The resulting error object. It is the user's
responsibility to eventually free this object using globus_object_free(). A
globus_result_t may be obtained by calling globus_error_put() on this
object.
globus_object_t* globus_error_multiple_remove_chain (globus_object_t *multiple_error)¶
Remove an error chain from a multiple error object. Parameters:multiple_error The error from which to remove a
chain. Must have been created with
globus_error_construct_multiple()
Returns:
The removed error chain, or NULL if none found.
void globus_error_mutliple_add_chain (globus_object_t *multiple_error, globus_object_t *chain, const char *fmt, ...)¶
Add an error chain to a multiple error object. Parameters:multiple_error The error to add the chain to. Must
have been created with globus_error_construct_multiple()
chain The chain to add to this error. This error object assumes control
over 'chain''s memory after this call.
fmt a printf style format string describing this chain
Returns:
void
Author¶
Generated automatically by Doxygen for globus_common from the source code.Sat Nov 8 2014 | Version 15.26 |