ALib C++ Library
Library Version: 2402 R1
Documentation generated by doxygen
Loading...
Searching...
No Matches
fmtexceptions.hpp
Go to the documentation of this file.
1/** ************************************************************************************************
2 * \file
3 * This header file is part of sub-namespace #alib::lang::format of module \alib_basecamp of
4 * the \aliblong.
5 *
6 * \emoji :copyright: 2013-2024 A-Worx GmbH, Germany.
7 * Published under \ref mainpage_license "Boost Software License".
8 **************************************************************************************************/
9#ifndef HPP_ALIB_LANG_FORMAT_EXCEPTIONS
10#define HPP_ALIB_LANG_FORMAT_EXCEPTIONS 1
11
12#if !defined(HPP_ALIB_LANG_BASECAMP)
14#endif
15
16namespace alib::lang::format {
17
18/** ****************************************************************************************
19 * Enumeration of exceptions thrown with classes found in sub-namespace #alib::lang::format
20 * of module \alib_basecamp.
21 ******************************************************************************************/
22enum class FMTExceptions
23{
24 /** Argument index '0' not allowed. */
26
27 /** Argument index greater than number of arguments available. */
29
30 /** Incompatible type code given argument type found. */
32
33
34 /** Thrown by \alib{lang::format;FormatterPythonStyle;FormatterPythonStyle}:
35 * Closing bracket <c>'}'</c> not found. */
37
38 /** Thrown by \alib{lang::format;FormatterPythonStyle;FormatterPythonStyle}:
39 * Missing precision integral value after <c>'.'</c> character. */
41
42 /** Thrown by \alib{lang::format;FormatterPythonStyle;FormatterPythonStyle}:
43 * Duplicate type code. */
45
46 /** Thrown by \alib{lang::format;FormatterPythonStyle;FormatterPythonStyle}:
47 * Unknown type code. */
48 UnknownTypeCode =104,
49
50 /** Thrown by \alib{lang::format;FormatterPythonStyle;FormatterPythonStyle}:
51 * Expected <c>'!'</c> not found. */
53
54 /** Thrown by \alib{lang::format;FormatterPythonStyle;FormatterPythonStyle}:
55 * Unknown conversion after <c>'!'</c>. */
57
58 /** Thrown by \alib{lang::format;FormatterPythonStyle;FormatterPythonStyle}:
59 * Precision specification not allowed with integer types. */
61
62 /** Thrown by \alib{lang::format;FormatterPythonStyle;FormatterPythonStyle}:
63 * Missing replacement strings after conversion <c>!Replace</c>.*/
65
66
67
68 // Formatter Java Style
69 /** Thrown by \alib{lang::format;FormatterJavaStyle;FormatterJavaStyle}:
70 * Formatting of negative values in brackets is not supported. */
72
73 /** Thrown by \alib{lang::format;FormatterJavaStyle;FormatterJavaStyle}:
74 * Missing precision integral value after <c>'.'</c> character. */
76
77 /** Thrown by \alib{lang::format;FormatterJavaStyle;FormatterJavaStyle}:
78 * Output of floating point values in hexadecimal format not supported. */
80
81 /** Thrown by \alib{lang::format;FormatterJavaStyle;FormatterJavaStyle}:
82 * The alternate form '#' is not supported with given conversion. */
84
85 /** Thrown by \alib{lang::format;FormatterJavaStyle;FormatterJavaStyle}:
86 * Precision specification is not supported with given conversion. */
88
89 /** Thrown by \alib{lang::format;FormatterJavaStyle;FormatterJavaStyle}:
90 * Unknown conversion suffix with data/time conversion. */
92
93 /** Thrown by \alib{lang::format;FormatterJavaStyle;FormatterJavaStyle}:
94 * Unknown conversion character. */
96
97
98 // PropertyFormatter and PropertyFormatters
99 /**
100 * Thrown by constructor of \alib{lang::format;PropertyFormatter}
101 * when a property identifier parsed from the format string has no corresponding entry in the
102 * \alib{lang::format;PropertyFormatter::TCallbackTable;TCallbackTable} provided.
103 */
105
106 /**
107 * Exception entry added in method \alib{lang::format;PropertyFormatter::Format}
108 * when the underlying formatter throws.
109 */
111
112 /**
113 * Thrown by \alib{lang::format;PropertyFormatters::Format} if a configuration variable
114 * can not be loaded or is empty.
115 *
116 * \note To prevent this, software using this class should provide
117 * \alib{lang::Camp;GetResourcePool;resourced} default values for each formatter variable.
118 */
120
121
122 // class Paragraphs
123 /**
124 * Thrown by \alib{lang::format;Paragraphs::AddMarked}
125 * when an unknown marker token was found.
126 */
127 UnknownMarker =601,
128
129 /**
130 * Thrown by \alib{lang::format;Paragraphs::AddMarked}
131 * when a property identifier parsed from the format string has no corresponding entry in the
132 * \alib{lang::format;PropertyFormatter::TCallbackTable;TCallbackTable} provided.
133 */
135
136}; // FMTExceptions
137
138 } // namespace [alib::lang::format]
139
141
144
145#endif // HPP_ALIB_LANG_FORMAT_EXCEPTIONS
#define ALIB_ENUMS_ASSIGN_RECORD(TEnum, TRecord)
Definition records.hpp:752
#define ALIB_BOXING_VTABLE_DECLARE(TMapped, Identifier)
Definition vtable.inl:477
#define ALIB_RESOURCED_IN_MODULE(T, Camp, ResName)
lang::basecamp::BaseCamp BASECAMP
Definition basecamp.cpp:136