Error creation and destruction

SVN error creation and destruction. More...

Functions

svn_error_tsvn_error_create (apr_status_t apr_err, svn_error_t *child, const char *message)
 Create a nested exception structure.
svn_error_tsvn_error_createf (apr_status_t apr_err, svn_error_t *child, const char *fmt,...) __attribute__((format(printf
 Create an error structure with the given apr_err and child, with a printf-style error message produced by passing fmt, using apr_psprintf().
svn_error_tsvn_error_wrap_apr (apr_status_t status, const char *fmt,...) __attribute__((format(printf
 Wrap a status from an APR function.
svn_error_tsvn_error_quick_wrap (svn_error_t *child, const char *new_msg)
 A quick n' easy way to create a wrapped exception with your own message, before throwing it up the stack.
void svn_error_compose (svn_error_t *chain, svn_error_t *new_err)
 Add new_err to the end of chain's chain of errors.
svn_error_tsvn_error_root_cause (svn_error_t *err)
 Return the root cause of err by finding the last error in its chain (e.g.
svn_error_tsvn_error_dup (svn_error_t *err)
 Create a new error that is a deep copy of err and return it.
void svn_error_clear (svn_error_t *error)
 Free the memory used by error, as well as all ancestors and descendants of error.
void svn_handle_error2 (svn_error_t *error, FILE *stream, svn_boolean_t fatal, const char *prefix)
 Very basic default error handler: print out error stack error to the stdio stream stream, with each error prefixed by prefix, and quit iff the fatal flag is set.
void svn_handle_error (svn_error_t *error, FILE *stream, svn_boolean_t fatal)
 Like svn_handle_error2() but with prefix set to "svn: ".
void svn_handle_warning2 (FILE *stream, svn_error_t *error, const char *prefix)
 Very basic default warning handler: print out the error error to the stdio stream stream, prefixed by prefix.
void svn_handle_warning (FILE *stream, svn_error_t *error)
 Like svn_handle_warning2() but with prefix set to "svn: ".

Detailed Description

SVN error creation and destruction.


Function Documentation

void svn_error_clear ( svn_error_t error  ) 

Free the memory used by error, as well as all ancestors and descendants of error.

Unlike other Subversion objects, errors are managed explicitly; you MUST clear an error if you are ignoring it, or you are leaking memory. For convenience, error may be NULL, in which case this function does nothing; thus, svn_error_clear(svn_foo(...)) works as an idiom to ignore errors.

void svn_error_compose ( svn_error_t chain,
svn_error_t new_err 
)

Add new_err to the end of chain's chain of errors.

The new_err chain will be copied into chain's pool and destroyed, so new_err itself becomes invalid after this function.

svn_error_t* svn_error_create ( apr_status_t  apr_err,
svn_error_t child,
const char *  message 
)

Create a nested exception structure.

Input: an APR or SVN custom error code, a "child" error to wrap, a specific message

Returns: a new error structure (containing the old one).

Note:
Errors are always allocated in a subpool of the global pool, since an error's lifetime is generally not related to the lifetime of any convenient pool. Errors must be freed with svn_error_clear(). The specific message should be NULL if there is nothing to add to the general message associated with the error code.
If creating the "bottommost" error in a chain, pass NULL for the child argument.

svn_error_t* svn_error_dup ( svn_error_t err  ) 

Create a new error that is a deep copy of err and return it.

Since:
New in 1.2.

svn_error_t* svn_error_quick_wrap ( svn_error_t child,
const char *  new_msg 
)

A quick n' easy way to create a wrapped exception with your own message, before throwing it up the stack.

(It uses all of the child's fields.)

svn_error_t* svn_error_root_cause ( svn_error_t err  ) 

Return the root cause of err by finding the last error in its chain (e.g.

it or its children). err may be SVN_NO_ERROR, in which case SVN_NO_ERROR is returned.

Since:
New in 1.5.

svn_error_t* svn_error_wrap_apr ( apr_status_t  status,
const char *  fmt,
  ... 
)

Wrap a status from an APR function.

If fmt is NULL, this is equivalent to svn_error_create(status,NULL,NULL). Otherwise, the error message is constructed by formatting fmt and the following arguments according to apr_psprintf(), and then appending ": " and the error message corresponding to status. (If UTF-8 translation of the APR error message fails, the ": " and APR error are not appended to the error message.)

void svn_handle_error ( svn_error_t error,
FILE *  stream,
svn_boolean_t  fatal 
)

Like svn_handle_error2() but with prefix set to "svn: ".

Deprecated:
Provided for backward compatibility with the 1.1 API.

void svn_handle_error2 ( svn_error_t error,
FILE *  stream,
svn_boolean_t  fatal,
const char *  prefix 
)

Very basic default error handler: print out error stack error to the stdio stream stream, with each error prefixed by prefix, and quit iff the fatal flag is set.

Allocations are performed in the error's pool.

If you're not sure what prefix to pass, just pass "svn: ". That's what code that used to call svn_handle_error() and now calls svn_handle_error2() does.

Since:
New in 1.2.

void svn_handle_warning2 ( FILE *  stream,
svn_error_t error,
const char *  prefix 
)

Very basic default warning handler: print out the error error to the stdio stream stream, prefixed by prefix.

Allocations are performed in the error's pool.

Since:
New in 1.2.


Generated on Mon Sep 29 12:22:50 2008 for Subversion by  doxygen 1.5.6