Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
RapidJSON error handling

Classes

struct  ParseResult
 Result of parsing (wraps ParseErrorCode) Plus de détails...
 

Macros

#define RAPIDJSON_ERROR_CHARTYPE   char
 Character type of error messages.
 
#define RAPIDJSON_ERROR_STRING(x)   x
 Macro for converting string literial to RAPIDJSON_ERROR_CHARTYPE[].
 
#define RAPIDJSON_PARSE_ERROR_NORETURN(parseErrorCode, offset)
 Macro to indicate a parse error.
 
#define RAPIDJSON_PARSE_ERROR(parseErrorCode, offset)
 (Internal) macro to indicate and handle a parse error.
 

Définitions de type

typedef const RAPIDJSON_ERROR_CHARTYPE *(* GetParseErrorFunc) (ParseErrorCode)
 Function pointer type of GetParseError().
 

Énumérations

enum  ParseErrorCode {
  kParseErrorNone = 0 , kParseErrorDocumentEmpty , kParseErrorDocumentRootNotSingular , kParseErrorValueInvalid ,
  kParseErrorObjectMissName , kParseErrorObjectMissColon , kParseErrorObjectMissCommaOrCurlyBracket , kParseErrorArrayMissCommaOrSquareBracket ,
  kParseErrorStringUnicodeEscapeInvalidHex , kParseErrorStringUnicodeSurrogateInvalid , kParseErrorStringEscapeInvalid , kParseErrorStringMissQuotationMark ,
  kParseErrorStringInvalidEncoding , kParseErrorNumberTooBig , kParseErrorNumberMissFraction , kParseErrorNumberMissExponent ,
  kParseErrorTermination , kParseErrorUnspecificSyntaxError
}
 Error code of parsing. Plus de détails...
 
enum  PointerParseErrorCode {
  kPointerParseErrorNone = 0 , kPointerParseErrorTokenMustBeginWithSolidus , kPointerParseErrorInvalidEscape , kPointerParseErrorInvalidPercentEncoding ,
  kPointerParseErrorCharacterMustPercentEncode
}
 Error code of parsing. Plus de détails...
 

Fonctions

RAPIDJSON_NAMESPACE_BEGIN const RAPIDJSON_ERROR_CHARTYPEGetParseError_En (ParseErrorCode parseErrorCode)
 Maps error code of parsing into error message.
 

Description détaillée

Documentation des macros

◆ RAPIDJSON_ERROR_CHARTYPE

#define RAPIDJSON_ERROR_CHARTYPE   char

Character type of error messages.

The default character type is char. On Windows, user can define this macro as TCHAR for supporting both unicode/non-unicode settings.

Définition à la ligne 40 du fichier error.h.

◆ RAPIDJSON_ERROR_STRING

#define RAPIDJSON_ERROR_STRING (   x)    x

Macro for converting string literial to RAPIDJSON_ERROR_CHARTYPE[].

By default this conversion macro does nothing. On Windows, user can define this macro as _T(x) for supporting both unicode/non-unicode settings.

Définition à la ligne 53 du fichier error.h.

◆ RAPIDJSON_PARSE_ERROR

#define RAPIDJSON_PARSE_ERROR (   parseErrorCode,
  offset 
)

(Internal) macro to indicate and handle a parse error.

Paramètres
parseErrorCoderapidjson::ParseErrorCode of the error
offsetposition of the error in JSON input (size_t)

Invokes RAPIDJSON_PARSE_ERROR_NORETURN and stops the parsing.

Voir également
RAPIDJSON_PARSE_ERROR_NORETURN

Définition à la ligne 120 du fichier reader.h.

◆ RAPIDJSON_PARSE_ERROR_NORETURN

#define RAPIDJSON_PARSE_ERROR_NORETURN (   parseErrorCode,
  offset 
)
Valeur :
RAPIDJSON_MULTILINEMACRO_BEGIN \
RAPIDJSON_ASSERT(!HasParseError()); /* Error can only be assigned once */ \
SetParseError(parseErrorCode, offset); \
RAPIDJSON_MULTILINEMACRO_END

Macro to indicate a parse error.

Paramètres
parseErrorCoderapidjson::ParseErrorCode of the error
offsetposition of the error in JSON input (size_t)

This macros can be used as a customization point for the internal error handling mechanism of RapidJSON.

A common usage model is to throw an exception instead of requiring the caller to explicitly check the rapidjson::GenericReader::Parse's return value:

#define RAPIDJSON_PARSE_ERROR_NORETURN(parseErrorCode,offset) \
throw ParseException(parseErrorCode, #parseErrorCode, offset)
#include <stdexcept> // std::runtime_error
#include "rapidjson/error/error.h" // rapidjson::ParseResult
struct ParseException : std::runtime_error, rapidjson::ParseResult {
ParseException(rapidjson::ParseErrorCode code, const char* msg, size_t offset)
: std::runtime_error(msg), ParseResult(code, offset) {}
};
Result of parsing (wraps ParseErrorCode)
Definition error.h:107
Voir également
RAPIDJSON_PARSE_ERROR, rapidjson::GenericReader::Parse

Définition à la ligne 101 du fichier reader.h.

Documentation des définitions de type

◆ GetParseErrorFunc

typedef const RAPIDJSON_ERROR_CHARTYPE *(* GetParseErrorFunc) (ParseErrorCode)

Function pointer type of GetParseError().

This is the prototype for GetParseError_X(), where X is a locale. User can dynamically change locale in runtime, e.g.:

GetParseErrorFunc GetParseError = GetParseError_En; // or whatever
const RAPIDJSON_ERROR_CHARTYPE* s = GetParseError(document.GetParseErrorCode());
const RAPIDJSON_ERROR_CHARTYPE *(* GetParseErrorFunc)(ParseErrorCode)
Function pointer type of GetParseError().
Definition error.h:154
RAPIDJSON_NAMESPACE_BEGIN const RAPIDJSON_ERROR_CHARTYPE * GetParseError_En(ParseErrorCode parseErrorCode)
Maps error code of parsing into error message.
Definition en.h:37
#define RAPIDJSON_ERROR_CHARTYPE
Character type of error messages.
Definition error.h:40

Définition à la ligne 154 du fichier error.h.

Documentation du type de l'énumération

◆ ParseErrorCode

Error code of parsing.

Voir également
GenericReader::Parse, GenericReader::GetParseErrorCode
Valeurs énumérées
kParseErrorNone 

No error.

kParseErrorDocumentEmpty 

The document is empty.

kParseErrorDocumentRootNotSingular 

The document root must not follow by other values.

kParseErrorValueInvalid 

Invalid value.

kParseErrorObjectMissName 

Missing a name for object member.

kParseErrorObjectMissColon 

Missing a colon after a name of object member.

kParseErrorObjectMissCommaOrCurlyBracket 

Missing a comma or '}' after an object member.

kParseErrorArrayMissCommaOrSquareBracket 

Missing a comma or ']' after an array element.

kParseErrorStringUnicodeEscapeInvalidHex 

Incorrect hex digit after \u escape in string.

kParseErrorStringUnicodeSurrogateInvalid 

The surrogate pair in string is invalid.

kParseErrorStringEscapeInvalid 

Invalid escape character in string.

kParseErrorStringMissQuotationMark 

Missing a closing quotation mark in string.

kParseErrorStringInvalidEncoding 

Invalid encoding in string.

kParseErrorNumberTooBig 

Number too big to be stored in double.

kParseErrorNumberMissFraction 

Miss fraction part in number.

kParseErrorNumberMissExponent 

Miss exponent in number.

kParseErrorTermination 

Parsing was terminated.

kParseErrorUnspecificSyntaxError 

Unspecific syntax error.

Définition à la ligne 65 du fichier error.h.

◆ PointerParseErrorCode

Error code of parsing.

Voir également
GenericPointer::GenericPointer, GenericPointer::GetParseErrorCode
Valeurs énumérées
kPointerParseErrorNone 

The parse is successful.

kPointerParseErrorTokenMustBeginWithSolidus 

A token must begin with a '/'.

kPointerParseErrorInvalidEscape 

Invalid escape.

kPointerParseErrorInvalidPercentEncoding 

Invalid percent encoding in URI fragment.

kPointerParseErrorCharacterMustPercentEncode 

A character must percent encoded in URI fragment.

Définition à la ligne 38 du fichier pointer.h.

Documentation des fonctions

◆ GetParseError_En()