<!-- ##### SECTION Title ##### -->
Error handling

<!-- ##### SECTION Short_Description ##### -->
Decoding cairo's status

<!-- ##### SECTION Long_Description ##### -->
<para>
Cairo uses a single status type to represent all kinds of errors.  A status
value of %CAIRO_STATUS_SUCCESS represents no error and has an integer value
of zero.  All other status values represent an error.
</para>
<para>
Cairo's error handling is designed to be easy to use and safe.  All major
cairo objects <firstterm>retain</firstterm> an error status internally which
can be queried anytime by the users using cairo*_status() calls.  In
the mean time, it is safe to call all cairo functions normally even if the
underlying object is in an error status.  This means that no error handling
code is required before or after each individual cairo function call.
</para>

<!-- ##### SECTION See_Also ##### -->
<para>
<itemizedlist>
<listitem>cairo_status()</listitem>
<listitem>cairo_surface_status()</listitem>
<listitem>cairo_pattern_status()</listitem>
<listitem>cairo_font_face_status()</listitem>
<listitem>cairo_scaled_font_status()</listitem>
</itemizedlist>
</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### ENUM cairo_status_t ##### -->
<para>

</para>

@CAIRO_STATUS_SUCCESS: 
@CAIRO_STATUS_NO_MEMORY: 
@CAIRO_STATUS_INVALID_RESTORE: 
@CAIRO_STATUS_INVALID_POP_GROUP: 
@CAIRO_STATUS_NO_CURRENT_POINT: 
@CAIRO_STATUS_INVALID_MATRIX: 
@CAIRO_STATUS_INVALID_STATUS: 
@CAIRO_STATUS_NULL_POINTER: 
@CAIRO_STATUS_INVALID_STRING: 
@CAIRO_STATUS_INVALID_PATH_DATA: 
@CAIRO_STATUS_READ_ERROR: 
@CAIRO_STATUS_WRITE_ERROR: 
@CAIRO_STATUS_SURFACE_FINISHED: 
@CAIRO_STATUS_SURFACE_TYPE_MISMATCH: 
@CAIRO_STATUS_PATTERN_TYPE_MISMATCH: 
@CAIRO_STATUS_INVALID_CONTENT: 
@CAIRO_STATUS_INVALID_FORMAT: 
@CAIRO_STATUS_INVALID_VISUAL: 
@CAIRO_STATUS_FILE_NOT_FOUND: 
@CAIRO_STATUS_INVALID_DASH: 
@CAIRO_STATUS_INVALID_DSC_COMMENT: 
@CAIRO_STATUS_INVALID_INDEX: 
@CAIRO_STATUS_CLIP_NOT_REPRESENTABLE: 
@CAIRO_STATUS_TEMP_FILE_ERROR: 
@CAIRO_STATUS_INVALID_STRIDE: 
@CAIRO_STATUS_FONT_TYPE_MISMATCH: 
@CAIRO_STATUS_USER_FONT_IMMUTABLE: 
@CAIRO_STATUS_USER_FONT_ERROR: 
@CAIRO_STATUS_NEGATIVE_COUNT: 
@CAIRO_STATUS_INVALID_CLUSTERS: 
@CAIRO_STATUS_INVALID_SLANT: 
@CAIRO_STATUS_INVALID_WEIGHT: 

<!-- ##### FUNCTION cairo_status_to_string ##### -->
<para>

</para>

@status: 
@Returns: 


<!-- ##### FUNCTION cairo_debug_reset_static_data ##### -->
<para>

</para>



