UParseError
一个 UParseError 结构体用于返回关于解析错误的详细信息。
摘要
它由 ICU 解析引擎使用,这些引擎用于解析长规则、模式或程序,其中待解析文本足够长,需要比 UErrorCode 更多的信息来定位错误。
行、偏移量和上下文字段是可选的;解析引擎可以选择不使用它们。
preContext 和 postContext 字符串包含错误周围的部分上下文。如果源文本是“let for=7”,并且“for”是错误(例如,因为它是一个保留字),那么解析器可能会产生的一些示例如下:
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
使用 UParseError 的引擎示例(或将来可能使用它的引擎)包括 Transliterator、RuleBasedBreakIterator 和 RegexPattern。
公共属性 |
|
---|---|
line
|
int32_t
发生错误的行。
|
offset
|
int32_t
错误所在字符的偏移量。
|
postContext[U_PARSE_CONTEXT_LEN]
|
错误本身和/或错误之后的文本上下文。
|
preContext[U_PARSE_CONTEXT_LEN]
|
错误之前的文本上下文。
|
公共属性
line
在unicode/parseerr.h
中声明
int32_t UParseError::line
发生错误的行。
如果解析器使用此字段,它会将其设置为错误出现的源文本行的行号,该值将 >= 1。如果解析器不支持行号,则该值将 <= 0。
offset
在unicode/parseerr.h
中声明
int32_t UParseError::offset
错误所在字符的偏移量。
如果 line 字段 >= 1,则这是从行首开始的偏移量。否则,这是从文本开头开始的偏移量。如果解析器不支持此字段,则其值将 < 0。
postContext
在unicode/parseerr.h
中声明
UChar UParseError::postContext[U_PARSE_CONTEXT_LEN]
错误本身和/或错误之后的文本上下文。
以 null 结尾。如果解析器不支持,则为空字符串。
preContext
在unicode/parseerr.h
中声明
UChar UParseError::preContext[U_PARSE_CONTEXT_LEN]
错误之前的文本上下文。
以 null 结尾。如果解析器不支持,则为空字符串。