114 lines
4.1 KiB
C++
114 lines
4.1 KiB
C++
#ifndef ICU4XError_HPP
|
|
#define ICU4XError_HPP
|
|
#include <stdint.h>
|
|
#include <stddef.h>
|
|
#include <stdbool.h>
|
|
#include <algorithm>
|
|
#include <memory>
|
|
#include <variant>
|
|
#include <optional>
|
|
#include "diplomat_runtime.hpp"
|
|
|
|
#include "ICU4XError.h"
|
|
|
|
|
|
|
|
/**
|
|
* A common enum for errors that ICU4X may return, organized by API
|
|
*
|
|
* The error names are stable and can be checked against as strings in the JS API
|
|
*
|
|
* Additional information: [1](https://docs.rs/fixed_decimal/latest/fixed_decimal/enum.FixedDecimalError.html), [2](https://docs.rs/icu/latest/icu/calendar/enum.CalendarError.html), [3](https://docs.rs/icu/latest/icu/collator/enum.CollatorError.html), [4](https://docs.rs/icu/latest/icu/datetime/enum.DateTimeError.html), [5](https://docs.rs/icu/latest/icu/decimal/enum.DecimalError.html), [6](https://docs.rs/icu/latest/icu/list/enum.ListError.html), [7](https://docs.rs/icu/latest/icu/locid/enum.ParserError.html), [8](https://docs.rs/icu/latest/icu/locid_transform/enum.LocaleTransformError.html), [9](https://docs.rs/icu/latest/icu/normalizer/enum.NormalizerError.html), [10](https://docs.rs/icu/latest/icu/plurals/enum.PluralsError.html), [11](https://docs.rs/icu/latest/icu/properties/enum.PropertiesError.html), [12](https://docs.rs/icu/latest/icu/provider/struct.DataError.html), [13](https://docs.rs/icu/latest/icu/provider/enum.DataErrorKind.html), [14](https://docs.rs/icu/latest/icu/segmenter/enum.SegmenterError.html), [15](https://docs.rs/icu/latest/icu/timezone/enum.TimeZoneError.html), [16](https://docs.rs/icu_experimental/latest/icu_experimental/units/enum.ConversionError.html)
|
|
*/
|
|
enum struct ICU4XError {
|
|
|
|
/**
|
|
* The error is not currently categorized as ICU4XError.
|
|
* Please file a bug
|
|
*/
|
|
UnknownError = 0,
|
|
|
|
/**
|
|
* An error arising from writing to a string
|
|
* Typically found when not enough space is allocated
|
|
* Most APIs that return a string may return this error
|
|
*/
|
|
WriteableError = 1,
|
|
|
|
/**
|
|
* Some input was out of bounds
|
|
*/
|
|
OutOfBoundsError = 2,
|
|
|
|
/**
|
|
* Input expected to be UTF-8 was ill-formed
|
|
*/
|
|
Utf8Error = 3,
|
|
DataMissingDataKeyError = 256,
|
|
DataMissingVariantError = 257,
|
|
DataMissingLocaleError = 258,
|
|
DataNeedsVariantError = 259,
|
|
DataNeedsLocaleError = 260,
|
|
DataExtraneousLocaleError = 261,
|
|
DataFilteredResourceError = 262,
|
|
DataMismatchedTypeError = 263,
|
|
DataMissingPayloadError = 264,
|
|
DataInvalidStateError = 265,
|
|
DataCustomError = 266,
|
|
DataIoError = 267,
|
|
DataUnavailableBufferFormatError = 268,
|
|
DataMismatchedAnyBufferError = 269,
|
|
|
|
/**
|
|
* The subtag being requested was not set
|
|
*/
|
|
LocaleUndefinedSubtagError = 512,
|
|
|
|
/**
|
|
* The locale or subtag string failed to parse
|
|
*/
|
|
LocaleParserLanguageError = 513,
|
|
LocaleParserSubtagError = 514,
|
|
LocaleParserExtensionError = 515,
|
|
|
|
/**
|
|
* Attempted to construct an invalid data struct
|
|
*/
|
|
DataStructValidityError = 768,
|
|
PropertyUnknownScriptIdError = 1024,
|
|
PropertyUnknownGeneralCategoryGroupError = 1025,
|
|
PropertyUnexpectedPropertyNameError = 1026,
|
|
FixedDecimalLimitError = 1280,
|
|
FixedDecimalSyntaxError = 1281,
|
|
PluralsParserError = 1536,
|
|
CalendarParseError = 1792,
|
|
CalendarOverflowError = 1793,
|
|
CalendarUnderflowError = 1794,
|
|
CalendarOutOfRangeError = 1795,
|
|
CalendarUnknownEraError = 1796,
|
|
CalendarUnknownMonthCodeError = 1797,
|
|
CalendarMissingInputError = 1798,
|
|
CalendarUnknownKindError = 1799,
|
|
CalendarMissingError = 1800,
|
|
DateTimePatternError = 2048,
|
|
DateTimeMissingInputFieldError = 2049,
|
|
DateTimeSkeletonError = 2050,
|
|
DateTimeUnsupportedFieldError = 2051,
|
|
DateTimeUnsupportedOptionsError = 2052,
|
|
DateTimeMissingWeekdaySymbolError = 2053,
|
|
DateTimeMissingMonthSymbolError = 2054,
|
|
DateTimeFixedDecimalError = 2055,
|
|
DateTimeMismatchedCalendarError = 2056,
|
|
TinyStrTooLargeError = 2304,
|
|
TinyStrContainsNullError = 2305,
|
|
TinyStrNonAsciiError = 2306,
|
|
TimeZoneOffsetOutOfBoundsError = 2560,
|
|
TimeZoneInvalidOffsetError = 2561,
|
|
TimeZoneMissingInputError = 2562,
|
|
TimeZoneInvalidIdError = 2563,
|
|
NormalizerFutureExtensionError = 2816,
|
|
NormalizerValidationError = 2817,
|
|
InvalidCldrUnitIdentifierError = 3072,
|
|
};
|
|
|
|
#endif
|