Blame docs/libvirt-glib/html/Libvirt-glib-Error-reporting.html

Packit Service ea0369
Packit Service ea0369
<html>
Packit Service ea0369
<head>
Packit Service ea0369
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit Service ea0369
<title>Error reporting: Libvirt GLib Reference Manual</title>
Packit Service ea0369
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
Packit Service ea0369
<link rel="home" href="index.html" title="Libvirt GLib Reference Manual">
Packit Service ea0369
<link rel="up" href="ch01.html" title="API Reference">
Packit Service ea0369
<link rel="prev" href="Libvirt-glib-Library-initialization.html" title="Library initialization">
Packit Service ea0369
<link rel="next" href="Libvirt-glib-Event-loop.html" title="Event loop">
Packit Service ea0369
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
Packit Service ea0369
<link rel="stylesheet" href="style.css" type="text/css">
Packit Service ea0369
</head>
Packit Service ea0369
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Top  | 
Packit Service ea0369
                  Description
Packit Service ea0369
Packit Service ea0369
Home
Packit Service ea0369
Up
Packit Service ea0369
Prev
Packit Service ea0369
Next
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Error reporting

Packit Service ea0369

Error reporting — Convert libvirt error reports to GLib error reports

Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Stability Level

Packit Service ea0369
Packit Service ea0369
develop applications to these interfaces, release them, and have confidence that
Packit Service ea0369
they will run on all minor releases of the product (after the one in which the
Packit Service ea0369
interface was introduced, and within the same major release). Even at a major
Packit Service ea0369
release, incompatible changes are expected to be rare, and to have strong
Packit Service ea0369
justifications.
Packit Service ea0369
">Stable, unless otherwise indicated
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Functions

Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
GError *
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
gvir_error_new ()
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
GError *
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
gvir_error_new_literal ()
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
GError *
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
gvir_error_new_valist ()
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
void
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
gvir_set_error ()
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
void
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
gvir_set_error_literal ()
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
void
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
gvir_set_error_valist ()
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
void
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
gvir_critical ()
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
void
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
gvir_warning ()
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Includes

Packit Service ea0369
#include <libvirt-glib/libvirt-glib.h>
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Description

Packit Service ea0369

The libvirt API uses the virError structure for reporting

Packit Service ea0369
errors back to the application programmer. The libvirt API errors are
Packit Service ea0369
provided in thread-local variables, while the GLib standard practice is
Packit Service ea0369
to return errors via out parameters. This library provides a simple way
Packit Service ea0369
to fill in GError ** output parameters with the contents
Packit Service ea0369
of the most recent libvirt error object in the current thread.

Packit Service ea0369

The gvir_error_new, gvir_error_new_literal and

Packit Service ea0369
gvir_error_new_valist methods all return a newly created
Packit Service ea0369
GError * object instance, differing only in the way the
Packit Service ea0369

message needs to be provided. For most usage though, it is preferrable

Packit Service ea0369
to use the gvir_set_error, gvir_set_error_literal
Packit Service ea0369
and gvir_set_error_valist methods. These all accept a

Packit Service ea0369
GError ** argument and take care to only fill it if it
Packit Service ea0369

points to a non-NULL location.

Packit Service ea0369
Packit Service ea0369

Example 2. Reporting GLib errors with libvirt APIs

Packit Service ea0369
Packit Service ea0369
  
Packit Service ea0369
    
Packit Service ea0369
      
Packit Service ea0369
        
1
Packit Service ea0369
2
Packit Service ea0369
3
Packit Service ea0369
4
Packit Service ea0369
5
Packit Service ea0369
6
Packit Service ea0369
7
Packit Service ea0369
8
Packit Service ea0369
9
Packit Service ea0369
        
gboolean myapp_start_guest(const gchar *xml, GError **error)
Packit Service ea0369
{
Packit Service ea0369
    if (virDomainCreate(conn, xml, 0) &lt; 0) {
Packit Service ea0369
        gvir_set_error_literal(error, "Unable to start virtual machine");
Packit Service ea0369
       return FALSE;
Packit Service ea0369
    }
Packit Service ea0369
Packit Service ea0369
    return TRUE;
Packit Service ea0369
}
Packit Service ea0369
      
Packit Service ea0369
    
Packit Service ea0369
  
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Functions

Packit Service ea0369
Packit Service ea0369

gvir_error_new ()

Packit Service ea0369
GError *
Packit Service ea0369
gvir_error_new (GQuark domain,
Packit Service ea0369
                gint code,
Packit Service ea0369
                const gchar *format,
Packit Service ea0369
                ...);
Packit Service ea0369

Creates a new GError with the given domain

Packit Service ea0369
 and code
Packit Service ea0369
,
Packit Service ea0369
and a message formatted with format
Packit Service ea0369
.

Packit Service ea0369
Packit Service ea0369

Parameters

Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

domain

Packit Service ea0369

error domain

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

code

Packit Service ea0369

error code

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

format

Packit Service ea0369

printf()-style format for error message

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

...

Packit Service ea0369

parameters for message format

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Returns

Packit Service ea0369

a new GError

Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Packit Service ea0369
Packit Service ea0369

gvir_error_new_literal ()

Packit Service ea0369
GError *
Packit Service ea0369
gvir_error_new_literal (GQuark domain,
Packit Service ea0369
                        gint code,
Packit Service ea0369
                        const gchar *message);
Packit Service ea0369

Creates a new GError; unlike gvir_error_new(), message

Packit Service ea0369
 is
Packit Service ea0369
not a printf()-style format string. Use this function if
Packit Service ea0369
message
Packit Service ea0369
 contains text you don't have control over,
Packit Service ea0369
that could include printf() escape sequences.

Packit Service ea0369
Packit Service ea0369

Parameters

Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

domain

Packit Service ea0369

error domain

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

code

Packit Service ea0369

error code

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

message

Packit Service ea0369

error message

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Returns

Packit Service ea0369

a new GError

Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Packit Service ea0369
Packit Service ea0369

gvir_error_new_valist ()

Packit Service ea0369
GError *
Packit Service ea0369
gvir_error_new_valist (GQuark domain,
Packit Service ea0369
                       gint code,
Packit Service ea0369
                       const gchar *format,
Packit Service ea0369
                       va_list args);
Packit Service ea0369

Creates a new GError with the given domain

Packit Service ea0369
 and code
Packit Service ea0369
,
Packit Service ea0369
and a message formatted with format
Packit Service ea0369
.

Packit Service ea0369
Packit Service ea0369

Parameters

Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

domain

Packit Service ea0369

error domain

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

code

Packit Service ea0369

error code

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

format

Packit Service ea0369

printf()-style format for error message

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

args

Packit Service ea0369

va_list of parameters for the message format

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Returns

Packit Service ea0369

a new GError

Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Packit Service ea0369
Packit Service ea0369

gvir_set_error ()

Packit Service ea0369
void
Packit Service ea0369
gvir_set_error (GError **error,
Packit Service ea0369
                GQuark domain,
Packit Service ea0369
                gint code,
Packit Service ea0369
                const gchar *format,
Packit Service ea0369
                ...);
Packit Service ea0369

If error

Packit Service ea0369
 is NULL this does nothing. Otherwise it
Packit Service ea0369
creates a new GError with the given domain
Packit Service ea0369
 and code
Packit Service ea0369
,
Packit Service ea0369
and a message formatted with format
Packit Service ea0369
, and stores it
Packit Service ea0369
in error
Packit Service ea0369
.

Packit Service ea0369
Packit Service ea0369

Parameters

Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

error

Packit Service ea0369

pointer to error location

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

domain

Packit Service ea0369

error domain

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

code

Packit Service ea0369

error code

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

format

Packit Service ea0369

printf()-style format for error message

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

...

Packit Service ea0369

parameters for message format

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Packit Service ea0369
Packit Service ea0369

gvir_set_error_literal ()

Packit Service ea0369
void
Packit Service ea0369
gvir_set_error_literal (GError **error,
Packit Service ea0369
                        GQuark domain,
Packit Service ea0369
                        gint code,
Packit Service ea0369
                        const gchar *message);
Packit Service ea0369

If error

Packit Service ea0369
 is NULL this does nothing. Otherwise it
Packit Service ea0369
creates a new GError and stores it in error
Packit Service ea0369
; unlike
Packit Service ea0369
gvir_set_error(), message
Packit Service ea0369
 is not a printf()-style
Packit Service ea0369
format string. Use this function if message
Packit Service ea0369
 contains
Packit Service ea0369
text you don't have control over, that could include
Packit Service ea0369
printf() escape sequences.

Packit Service ea0369
Packit Service ea0369

Parameters

Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

error

Packit Service ea0369

pointer to error location

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

domain

Packit Service ea0369

error domain

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

code

Packit Service ea0369

error code

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

message

Packit Service ea0369

error message

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Packit Service ea0369
Packit Service ea0369

gvir_set_error_valist ()

Packit Service ea0369
void
Packit Service ea0369
gvir_set_error_valist (GError **error,
Packit Service ea0369
                       GQuark domain,
Packit Service ea0369
                       gint code,
Packit Service ea0369
                       const gchar *format,
Packit Service ea0369
                       va_list args);
Packit Service ea0369

If error

Packit Service ea0369
 is NULL this does nothing. Otherwise it
Packit Service ea0369
creates a new GError with the given domain
Packit Service ea0369
 and code
Packit Service ea0369
,
Packit Service ea0369
and a message formatted with format
Packit Service ea0369
, and stores it
Packit Service ea0369
in error
Packit Service ea0369
.

Packit Service ea0369
Packit Service ea0369

Parameters

Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

error

Packit Service ea0369

pointer to error location

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

domain

Packit Service ea0369

error domain

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

code

Packit Service ea0369

error code

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

format

Packit Service ea0369

printf()-style format for error message

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

args

Packit Service ea0369

va_list of parameters for the message format

Packit Service ea0369
 
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Packit Service ea0369
Packit Service ea0369

gvir_critical ()

Packit Service ea0369
void
Packit Service ea0369
gvir_critical (const gchar *format,
Packit Service ea0369
               ...);
Packit Service ea0369
Packit Service ea0369

Packit Service ea0369
Packit Service ea0369

gvir_warning ()

Packit Service ea0369
void
Packit Service ea0369
gvir_warning (const gchar *format,
Packit Service ea0369
              ...);
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Types and Values

Packit Service ea0369
Packit Service ea0369
Packit Service ea0369
Packit Service ea0369

Generated by GTK-Doc V1.29
Packit Service ea0369
</body>
Packit Service ea0369
</html>