Legacy Documentclose button

Important: The information in this document is obsolete and should not be used for new development.

Previous Book Contents Book Index Next

Inside Macintosh: QuickDraw GX Environment and Utilities /
Chapter 3 - Errors, Warnings, and Notices / About QuickDraw GX Errors, Warnings, and Notices


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_store
A 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_range
Both 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.
Table 3-1 Non-debugging error number ranges
NumberName
-27999gxFirstSystemError
-27999gxFirstFatalError
-27951gxLastFatalError
-27950gxFirstNonFatalError
-27900gxFirstFontScalerError
-27851gxLastFontScalerError
-27850gxFirstParameterError
-27800gxFirstImplementationLimitError

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 or nil. 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
NumberName
-27999out_of_memory
-27998internal_fatal_error
-27997no_outline_font_found
-27996not_enough_memory_for_graphics_client_heap
-27995could_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
NumberName
-27950internal_error
-27949internal_font_error
-27948internal_layout_error

Table 3-4 lists the QuickDraw GX recoverable errors.
Table 3-4 Recoverable errors
NumberName
-27946could_not_dispose_backing_store
-27945unflattening_interrupted_by_client

Table 3-5 lists the QuickDraw GX font management errors.
Table 3-5 Font management errors
NumberName
-27944font_cannot_be_changed
-27943illegal_font_parameter

Table 3-6 lists the QuickDraw GX font scaler errors.
Table 3-6 Font scaler errors
NumberName
-27900null_font_scaler_context
-27899null_font_scaler_input
-27988invalid_font_scaler_context
-27897invalid_font_scaler_input
-27896invalid_font_scaler_font_data
-27895font_scaler_newblock_failed
-27894font_scaler_getfonttable_failed
-27893font_scaler_bitmap_allocation_failed
-27892font_scaler_outline_allocation_failed
-27891required_font_scaler_table_missing
-27890unsupported_font_scaler_outline_format
-27889unsupported_font_scaler_stream_format
-27888unsupported_font_scaler_font_format
-27887font_scaler_hinting_error
-27886font_scaler_rasterizer_error
-27885font_scaler_internal_error
-27884font_scaler_invalid_matrix
-27883font_scaler_fixed_overflow
-27882font_scaler_api_version_mismatch
-27881font_scaler_streaming_aborted
-27880unknown_font_scaler_error

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 errors
Table 3-7 Bad parameter errors
NumberName
-27850parameter_is_nil
-27849shape_is_nil
-27848style_is_nil
-27847transform_is_nil
-27846ink_is_nil
-27845transferMode_is_nil
-27844color_is_nil
-27843colorProfile_is_nil
-27842colorSet_is_nil
-27841spoolProcedure_is_nil
-27840tag_is_nil
-27839type_is_nil
-27838mapping_is_nil
-27837invalid_viewDevice_reference
-27836invalid_viewGroup_reference
-27835invalid_viewPort_reference
.

QuickDraw 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.
Table 3-8 Implementation limit errors
NumberName
-27800number_of_contours_exceeds_implementation_limit
-27799number_of_points_exceeds_implementation_limit
-27798size_of_polygon_exceeds_implementation_limit
-27797size_of_path_exceeds_implementation_limit
-27796size_of_text_exceeds_implementation_limit
-27795size_of_bitmap_exceeds_implementation_limit
-27794number_of_colors_exceeds_implementation_limit
-27793procedure_not_reentrant

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.
Table 3-9 gives the non-debugging warning number ranges.
Table 3-9 Non-debugging warning number ranges
NumberDescription
-26999gxFirstSystemWarning
-26950gxFirstResultOutOfRangeWarning
-26900gxFirstParameterOutOfRangeWarning
-26850gxFirstFontScalerWarning

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 or GXPopGraphicsWarning 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.
Table 3-10 Stack, heap, and object warnings
NumberName
-26999warning_stack_underflow
-26998warning_stack_overflow
-26997notice_stack_underflow
-26996notice_stack_overflow
-26995about_to_grow_heap
-26994about_to_unload_objects

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.
Table 3-11 Result out of range warnings
NumberName
-26950map_shape_out_of_range
-26949move_shape_out_of_range
-26948scale_shape_out_of_range
-26947rotate_shape_out_of_range
-26946skew_shape_out_of_range
-26945map_transform_out_of_range
-26944move_transform_out_of_range
-26943scale_transform_out_of_range
-26942rotate_transform_out_of_range
-26941skew_transform_out_of_range
-26940map_points_out_of_range

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-12 Parameter out of range warnings
NumberName
-26900contour_out_of_range
-26899index_out_of_range_in_contour
-26898picture_index_out_of_range
-26897color_index_requested_not_found
-26896colorSet_index_out_of_range
-26895index_out_of_range
-26894count_out_of_range
-26893length_out_of_range
-26892font_table_index_out_of_range
-26891font_glyph_index_out_of_range
-26890point_out_of_range
-26889profile_response_out_of_range

Table 3-13 lists QuickDraw GX font scaler warnings.
Table 3-13 Font scaler warnings
NumberName
-26850font_scaler_no_output
-26849font_scaler_fake_metrics
-26848font_scaler_fake_linespacing
-26847font_scaler_glyph_substitution
-26846font_scaler_no_kerning_applied

Table 3-14 lists QuickDraw GX unexpected result warnings.
Table 3-14 Unexpected result warnings
Warning
number
Warning name
-26845character_substitution_took_place
-26844unable_to_bounds_on_multiple_devices
-26843font_language_not_found
-26842font_not_found_during_unflattening

Table 3-15 lists QuickDraw GX data stream storage warnings.
Table 3-15 Storage warnings
NumberName
-26841unrecognized_stream_version
-26840bad_data_in_stream


Previous Book Contents Book Index Next

© Apple Computer, Inc.
7 JUL 1996