- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- Search for |

- Alphabetical List
- Data Structures
- Class Hierarchy
- Data Fields

# UParseError Struct Reference

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

`#include <parseerr.h>`

## Data Fields
int32_t | line
| The line on which the error occured.
int32_t | offset
| The character offset to the error.
UChar | preContext [U_PARSE_CONTEXT_LEN]
| Textual context before the error.
UChar | postContext [U_PARSE_CONTEXT_LEN]
| The error itself and/or textual context after the error.

## Detailed Description

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

Definition at line 56 of file parseerr.h.

## Field Documentation

int32_t UParseError::line

The line on which the error occured.

If the parser uses this field, it sets it to the line number of the source text line on which the error appears, which will be be a value >= 1. If the parse does not support line numbers, the value will be <= 0.

Stable:
  ICU 2.0

Definition at line 65 of file parseerr.h.

int32_t UParseError::offset

The character offset to the error.

If the line field is >= 1, then this is the offset from the start of the line. Otherwise, this is the offset from the start of the text. If the parser does not support this field, it will have a value < 0.

Stable:
  ICU 2.0

Definition at line 74 of file parseerr.h.

UChar UParseError::preContext[U_PARSE_CONTEXT_LEN]

Textual context before the error.

Null-terminated. The empty string if not supported by parser.

Stable:
  ICU 2.0

Definition at line 81 of file parseerr.h.

UChar UParseError::postContext[U_PARSE_CONTEXT_LEN]

The error itself and/or textual context after the error.

Null-terminated. The empty string if not supported by parser.

Stable:
  ICU 2.0

Definition at line 88 of file parseerr.h.

The documentation for this struct was generated from the following file:

- parseerr.h