en.h
1 // Tencent is pleased to support the open source community by making RapidJSON available.
2 //
3 // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
4 //
5 // Licensed under the MIT License (the "License"); you may not use this file except
6 // in compliance with the License. You may obtain a copy of the License at
7 //
8 // http://opensource.org/licenses/MIT
9 //
10 // Unless required by applicable law or agreed to in writing, software distributed
11 // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
12 // CONDITIONS OF ANY KIND, either express or implied. See the License for the
13 // specific language governing permissions and limitations under the License.
14 
15 #ifndef RAPIDJSON_ERROR_EN_H_
16 #define RAPIDJSON_ERROR_EN_H_
17 
18 #include "error.h"
19 
20 #ifdef __clang__
21 RAPIDJSON_DIAG_PUSH
22 RAPIDJSON_DIAG_OFF(switch-enum)
23 RAPIDJSON_DIAG_OFF(covered-switch-default)
24 #endif
25 
26 RAPIDJSON_NAMESPACE_BEGIN
27 
28 //! Maps error code of parsing into error message.
29 /*!
30  \ingroup RAPIDJSON_ERRORS
31  \param parseErrorCode Error code obtained in parsing.
32  \return the error message.
33  \note User can make a copy of this function for localization.
34  Using switch-case is safer for future modification of error codes.
35 */
37  switch (parseErrorCode) {
38  case kParseErrorNone: return RAPIDJSON_ERROR_STRING("No error.");
39 
40  case kParseErrorDocumentEmpty: return RAPIDJSON_ERROR_STRING("The document is empty.");
41  case kParseErrorDocumentRootNotSingular: return RAPIDJSON_ERROR_STRING("The document root must not be followed by other values.");
42 
43  case kParseErrorValueInvalid: return RAPIDJSON_ERROR_STRING("Invalid value.");
44 
45  case kParseErrorObjectMissName: return RAPIDJSON_ERROR_STRING("Missing a name for object member.");
46  case kParseErrorObjectMissColon: return RAPIDJSON_ERROR_STRING("Missing a colon after a name of object member.");
47  case kParseErrorObjectMissCommaOrCurlyBracket: return RAPIDJSON_ERROR_STRING("Missing a comma or '}' after an object member.");
48 
49  case kParseErrorArrayMissCommaOrSquareBracket: return RAPIDJSON_ERROR_STRING("Missing a comma or ']' after an array element.");
50 
51  case kParseErrorStringUnicodeEscapeInvalidHex: return RAPIDJSON_ERROR_STRING("Incorrect hex digit after \\u escape in string.");
52  case kParseErrorStringUnicodeSurrogateInvalid: return RAPIDJSON_ERROR_STRING("The surrogate pair in string is invalid.");
53  case kParseErrorStringEscapeInvalid: return RAPIDJSON_ERROR_STRING("Invalid escape character in string.");
54  case kParseErrorStringMissQuotationMark: return RAPIDJSON_ERROR_STRING("Missing a closing quotation mark in string.");
55  case kParseErrorStringInvalidEncoding: return RAPIDJSON_ERROR_STRING("Invalid encoding in string.");
56 
57  case kParseErrorNumberTooBig: return RAPIDJSON_ERROR_STRING("Number too big to be stored in double.");
58  case kParseErrorNumberMissFraction: return RAPIDJSON_ERROR_STRING("Miss fraction part in number.");
59  case kParseErrorNumberMissExponent: return RAPIDJSON_ERROR_STRING("Miss exponent in number.");
60 
61  case kParseErrorTermination: return RAPIDJSON_ERROR_STRING("Terminate parsing due to Handler error.");
62  case kParseErrorUnspecificSyntaxError: return RAPIDJSON_ERROR_STRING("Unspecific syntax error.");
63 
64  default: return RAPIDJSON_ERROR_STRING("Unknown error.");
65  }
66 }
67 
68 RAPIDJSON_NAMESPACE_END
69 
70 #ifdef __clang__
71 RAPIDJSON_DIAG_POP
72 #endif
73 
74 #endif // RAPIDJSON_ERROR_EN_H_
rapidjson::kParseErrorUnspecificSyntaxError
@ kParseErrorUnspecificSyntaxError
Unspecific syntax error.
Definition: error.h:89
rapidjson::kParseErrorDocumentRootNotSingular
@ kParseErrorDocumentRootNotSingular
The document root must not follow by other values.
Definition: error.h:68
rapidjson::kParseErrorObjectMissCommaOrCurlyBracket
@ kParseErrorObjectMissCommaOrCurlyBracket
Missing a comma or '}' after an object member.
Definition: error.h:74
rapidjson::kParseErrorStringMissQuotationMark
@ kParseErrorStringMissQuotationMark
Missing a closing quotation mark in string.
Definition: error.h:81
rapidjson::kParseErrorObjectMissName
@ kParseErrorObjectMissName
Missing a name for object member.
Definition: error.h:72
rapidjson::kParseErrorStringInvalidEncoding
@ kParseErrorStringInvalidEncoding
Invalid encoding in string.
Definition: error.h:82
rapidjson::ParseErrorCode
ParseErrorCode
Error code of parsing.
Definition: error.h:64
rapidjson::kParseErrorStringUnicodeSurrogateInvalid
@ kParseErrorStringUnicodeSurrogateInvalid
The surrogate pair in string is invalid.
Definition: error.h:79
RAPIDJSON_ERROR_STRING
#define RAPIDJSON_ERROR_STRING(x)
Macro for converting string literial to RAPIDJSON_ERROR_CHARTYPE[].
Definition: error.h:52
rapidjson::kParseErrorDocumentEmpty
@ kParseErrorDocumentEmpty
The document is empty.
Definition: error.h:67
error.h
rapidjson::kParseErrorNumberTooBig
@ kParseErrorNumberTooBig
Number too big to be stored in double.
Definition: error.h:84
RAPIDJSON_ERROR_CHARTYPE
#define RAPIDJSON_ERROR_CHARTYPE
Character type of error messages.
Definition: error.h:39
rapidjson::kParseErrorTermination
@ kParseErrorTermination
Parsing was terminated.
Definition: error.h:88
rapidjson::kParseErrorArrayMissCommaOrSquareBracket
@ kParseErrorArrayMissCommaOrSquareBracket
Missing a comma or ']' after an array element.
Definition: error.h:76
rapidjson::kParseErrorNumberMissFraction
@ kParseErrorNumberMissFraction
Miss fraction part in number.
Definition: error.h:85
rapidjson::kParseErrorNumberMissExponent
@ kParseErrorNumberMissExponent
Miss exponent in number.
Definition: error.h:86
rapidjson::kParseErrorNone
@ kParseErrorNone
No error.
Definition: error.h:65
rapidjson::kParseErrorStringEscapeInvalid
@ kParseErrorStringEscapeInvalid
Invalid escape character in string.
Definition: error.h:80
rapidjson::kParseErrorValueInvalid
@ kParseErrorValueInvalid
Invalid value.
Definition: error.h:70
rapidjson::GetParseError_En
const RAPIDJSON_ERROR_CHARTYPE * GetParseError_En(ParseErrorCode parseErrorCode)
Maps error code of parsing into error message.
Definition: en.h:36
rapidjson::kParseErrorObjectMissColon
@ kParseErrorObjectMissColon
Missing a colon after a name of object member.
Definition: error.h:73
rapidjson::kParseErrorStringUnicodeEscapeInvalidHex
@ kParseErrorStringUnicodeEscapeInvalidHex
Incorrect hex digit after \u escape in string.
Definition: error.h:78