mirror of https://github.com/xemu-project/xemu.git
error: Document how to accumulate multiple errors
Suggested-by: Eric Blake <eblake@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <1447776349-2344-1-git-send-email-armbru@redhat.com>
This commit is contained in:
parent
649a1bbaf9
commit
8d780f4392
include/qapi
|
@ -76,6 +76,23 @@
|
||||||
* But when all you do with the error is pass it on, please use
|
* But when all you do with the error is pass it on, please use
|
||||||
* foo(arg, errp);
|
* foo(arg, errp);
|
||||||
* for readability.
|
* for readability.
|
||||||
|
*
|
||||||
|
* Receive and accumulate multiple errors (first one wins):
|
||||||
|
* Error *err = NULL, *local_err = NULL;
|
||||||
|
* foo(arg, &err);
|
||||||
|
* bar(arg, &local_err);
|
||||||
|
* error_propagate(&err, local_err);
|
||||||
|
* if (err) {
|
||||||
|
* handle the error...
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* Do *not* "optimize" this to
|
||||||
|
* foo(arg, &err);
|
||||||
|
* bar(arg, &err); // WRONG!
|
||||||
|
* if (err) {
|
||||||
|
* handle the error...
|
||||||
|
* }
|
||||||
|
* because this may pass a non-null err to bar().
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef ERROR_H
|
#ifndef ERROR_H
|
||||||
|
|
Loading…
Reference in New Issue