Important: The information in this document is obsolete and should not be used for new development.
Non-Debugging Version
When you install the non-debugging version, QuickDraw GX provides a reduced set of errors and warnings. Since the amount of testing is less, the non-debugging version of QuickDraw GX runs significantly faster than the debugging version. Use the non-debugging version for debugged applications that you have extensively tested using the debugging version of QuickDraw GX.When the non-debugging version is installed and corrupt data is used, drawings may execute with undesirable results, including crashes, without the posting of errors and warnings. With other execution problems, the application may not crash, but the drawing may not yield the expected result.
In the non-debugging version, typical problem messages indicate that there is insufficient memory, insufficient storage space, or that the required fonts are not installed. If problems persist, you can always install the debugging version to assist in the analysis of the errors that are occurring.
For a complete list of errors, please see the graphics
errors.h
interface file. The many notices, warnings, and errors defined between#ifdef debugging
and#endif
in that file are available only with the debugging version.A debugged application should encounter only errors like
out_of_memory not_enough_memory_for_graphics_client_heap graphics_client_too_small could_not_create_backing_storeA debugged application should encounter warnings like
character_substitution_occurred map_shape_out_of_range move_shape_out_of_range scale_shape_out_of_range rotate_shape_out_of_range skew_shape_out_of_range map_transform_out_of_range move_transform_out_of_range scale_transform_out_of_range rotate_transform_out_of_range skew_transform_out_of_rangeBoth the debugging and non-debugging versions of QuickDraw GX provide a debugging utility called GraphicsBug. This versatile utility allows you to examine the details of each graphics object. GraphicsBug is described in the chapter "QuickDraw GX Debugging" in this book.Errors
This section describes the errors that may be posted by both the debugging and non-debugging versions of QuickDraw GX. These errors can be grouped into the following categories:
Each QuickDraw GX error has an error number and an error name. Table 3-1 gives the non-debugging error number ranges.
- fatal errors
- internal errors
- recoverable errors
- font management errors
- bad parameter errors
- implementation limit errors
- font scaler errors
QuickDraw GX fatal errors terminate operation and automatically call the
GXExitGraphics
function. Control returns to the calling application after the error is posted. If the function that caused the error returns a function result, its value is either 0 ornil
. Table 3-2 lists fatal errors. They are included in both the debugging and non-debugging versions of QuickDraw GX.
Table 3-2 Fatal errors Number Name -27999 out_of_memory -27998 internal_fatal_error -27997 no_outline_font_found -27996 not_enough_memory_for_graphics_client_heap -27995 could_not_create_backing_store QuickDraw GX nonfatal internal errors indicate damaged files, memory problems, or incorrect implementation of QuickDraw GX. Table 3-3 lists the internal errors.
Table 3-3 Internal errors Number Name -27950 internal_error -27949 internal_font_error -27948 internal_layout_error Table 3-4 lists the QuickDraw GX recoverable errors.
Table 3-4 Recoverable errors Number Name -27946 could_not_dispose_backing_store -27945 unflattening_interrupted_by_client Table 3-5 lists the QuickDraw GX font management errors.
Table 3-5 Font management errors Number Name -27944 font_cannot_be_changed -27943 illegal_font_parameter Table 3-6 lists the QuickDraw GX font scaler errors.
QuickDraw GX posts bad parameter errors when a required parameter is out of range, invalid, or is passed with the value of
nil
. Table 3-7 lists bad parameter errorsQuickDraw GX posts implementation limit errors to indicate that the size or number exceeds the size or number supported by the current version of QuickDraw GX.
Table 3-8 lists the implementation limit errors.Warnings
This section describes the warnings that the debugging and non-debugging versions of QuickDraw GX may post. These errors can be grouped into the following categories:
Each QuickDraw GX warning has a unique warning number and warning name.
- stack, heap, and object warnings
- result is out of range warnings
- parameter is out of range warnings
- font scaler warnings
- unexpected result warnings
- storage warnings
Table 3-9 gives the non-debugging warning number ranges.
Table 3-9 Non-debugging warning number ranges Number Description -26999 gxFirstSystemWarning
-26950 gxFirstResultOutOfRangeWarning -26900 gxFirstParameterOutOfRangeWarning -26850 gxFirstFontScalerWarning QuickDraw GX overflow warnings occur when the number of warnings that have been added to the warning or notice stack exceeds the current implementation limit. An underflow warning occurs when the
GXPopGraphicsNotice
orGXPopGraphicsWarning
function attempts to remove an error or warning on its ignore stack and there is no error or warning to remove. This topic is discussed in the section "Ignoring Warnings and Notices" beginning on page 3-36.Table 3-10 lists QuickDraw GX stack, heap, and object warnings.
QuickDraw GX result out of range warnings occur when a function result is out of the usable or defined QuickDraw boundaries. Table 3-11 lists result out of range warnings.
QuickDraw GX parameter out of range warnings occur when a function parameter is out of the usable range. Table 3-12 lists parameter out of range warnings.
Table 3-13 lists QuickDraw GX font scaler warnings.
Table 3-14 lists QuickDraw GX unexpected result warnings.
Table 3-15 lists QuickDraw GX data stream storage warnings.
Table 3-15 Storage warnings Number Name -26841 unrecognized_stream_version -26840 bad_data_in_stream