Stay organized with collections
Save and categorize content based on your preferences.
UParseError
A UParseError struct is used to returned detailed information about parsing errors.
Summary
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.
Public attributes
|
line
|
int32_t
The line on which the error occurred.
|
offset
|
int32_t
The character offset to the error.
|
postContext[U_PARSE_CONTEXT_LEN]
|
The error itself and/or textual context after the error.
|
preContext[U_PARSE_CONTEXT_LEN]
|
Textual context before the error.
|
Public attributes
line
Declared in unicode/parseerr.h
int32_t UParseError::line
The line on which the error occurred.
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 a value >= 1. If the parse does not support line numbers, the value will be <= 0.
offset
Declared in unicode/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.
postContext
Declared in unicode/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.
preContext
Declared in unicode/parseerr.h
UChar UParseError::preContext[U_PARSE_CONTEXT_LEN]
Textual context before the error.
Null-terminated. The empty string if not supported by parser.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-11-19 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-11-19 UTC."],[],[],null,["# UParseError Struct Reference\n\nUParseError\n===========\n\nA [UParseError](/ndk/reference/struct/u-parse-error#struct_u_parse_error) struct is used to returned detailed information about parsing errors.\n\nSummary\n-------\n\nIt 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.\n\nThe line, offset, and context fields are optional; parsing engines may choose not to use to use them.\n\nThe 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:\n\n\n```text\npreContext postContext\n\"\" \"\" The parser does not support context\n\"let \" \"=7\" Pre- and post-context only\n\"let \" \"for=7\" Pre- and post-context and error text\n\"\" \"for\" Error text only\n```\n\n\u003cbr /\u003e\n\nExamples of engines which use [UParseError](/ndk/reference/struct/u-parse-error#struct_u_parse_error) (or may use it in the future) are Transliterator, RuleBasedBreakIterator, and RegexPattern.\n\n\u003cbr /\u003e\n\n| ### Public attributes ||\n|------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|\n| [line](#struct_u_parse_error_1a7e97bc264516d0eecda03609162db2a2) | `int32_t` The line on which the error occurred. |\n| [offset](#struct_u_parse_error_1aa18e9bc2d82bd5a513aa489b32248f69) | `int32_t` The character offset to the error. |\n| [postContext](#struct_u_parse_error_1a1076f681e0c1fcec4bf0ff28703b9aea)`[U_PARSE_CONTEXT_LEN]` | [UChar](/ndk/reference/group/icu4c#group__icu4c_1ga6bb9fad572d65b305324ef288165e2ac) The error itself and/or textual context after the error. |\n| [preContext](#struct_u_parse_error_1a3f7f2e98b8105346b87170866970c85a)`[U_PARSE_CONTEXT_LEN]` | [UChar](/ndk/reference/group/icu4c#group__icu4c_1ga6bb9fad572d65b305324ef288165e2ac) Textual context before the error. |\n\nPublic attributes\n-----------------\n\n### line\n\nDeclared in `unicode/parseerr.h` \n\n```scdoc\nint32_t UParseError::line\n``` \nThe line on which the error occurred.\n\nIf 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 a value \\\u003e= 1. If the parse does not support line numbers, the value will be \\\u003c= 0. \n\n### offset\n\nDeclared in `unicode/parseerr.h` \n\n```scdoc\nint32_t UParseError::offset\n``` \nThe character offset to the error.\n\nIf the line field is \\\u003e= 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 \\\u003c 0. \n\n### postContext\n\nDeclared in `unicode/parseerr.h` \n\n```transact-sql\nUChar UParseError::postContext[U_PARSE_CONTEXT_LEN]\n``` \nThe error itself and/or textual context after the error.\n\nNull-terminated. The empty string if not supported by parser. \n\n### preContext\n\nDeclared in `unicode/parseerr.h` \n\n```transact-sql\nUChar UParseError::preContext[U_PARSE_CONTEXT_LEN]\n``` \nTextual context before the error.\n\nNull-terminated. The empty string if not supported by parser."]]