ICU 69.1: parseerr.h File Reference

ICU 69.1 69.1

Data Structures | Typedefs | Enumerations
parseerr.h File Reference

C API: Parse Error Information. More...

`#include "unicode/utypes.h"`

Go to the source code of this file.

## Data Structures
struct | UParseError
| A UParseError struct is used to returned detailed information about parsing errors. More...

## Typedefs
typedef struct UParseError | UParseError
| A UParseError struct is used to returned detailed information about parsing errors. More...

## Enumerations
enum | { U_PARSE_CONTEXT_LEN = 16 }
| The capacity of the context strings in UParseError. More...

## Detailed Description

C API: Parse Error Information.

Definition in file parseerr.h.

## Typedef Documentation

## ◆ UParseError

typedef struct UParseError UParseError

A UParseError struct is used to returned detailed information about parsing errors.

It is used by ICU parsing engines that parse long rules, patterns, or programs, where the text being parsed is long enough that more information than a UErrorCode is needed to localize the error.

The line, offset, and context fields are optional; parsing engines may choose not to use to use them.

The preContext and postContext strings include some part of the context surrounding the error. If the source text is "let for=7" and "for" is the error (e.g., because it is a reserved word), then some examples of what a parser might produce are the following:

    preContext   postContext
    ""           ""            The parser does not support context
    "let "       "=7"          Pre- and post-context only
    "let "       "for=7"       Pre- and post-context and error text
    ""           "for"         Error text only

Examples of engines which use UParseError (or may use it in the future) are Transliterator, RuleBasedBreakIterator, and RegexPattern.

Stable:
  ICU 2.0

## Enumeration Type Documentation

## ◆ anonymous enum

anonymous enum

The capacity of the context strings in UParseError.

Stable:
  ICU 2.0

Definition at line 27 of file parseerr.h.