StormByte C++ Library: Config module 1.0.1.9999
StormByte-Config is the configuration module of the StormByte C++ suite.
Loading...
Searching...
No Matches
exception.hxx
1/*
2 * Copyright (C) 2024-2026 David C. Manuelda (StormBytePP)
3 *
4 * This file is part of StormByte-Config.
5 *
6 * StormByte-Config is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU Lesser General Public License version 3
8 * or later, as published by the Free Software Foundation.
9 *
10 * StormByte-Config is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with StormByte-Config. If not, see
17 * <https://www.gnu.org/licenses/lgpl-3.0.html>.
18 */
19
20#pragma once
21
22#include <StormByte/exception.hxx>
23#include <StormByte/config/visibility.h>
24
28namespace StormByte::Config {
33 class STORMBYTE_CONFIG_PUBLIC Exception: public StormByte::Exception {
34 public:
38 using StormByte::Exception::Exception;
39 };
40
45 class STORMBYTE_CONFIG_PUBLIC WrongValueTypeConversion final: public Exception {
46 public:
47 using Exception::Exception;
48 };
49
54 class STORMBYTE_CONFIG_PUBLIC ValueFailure final: public Exception {
55 public:
56 using Exception::Exception;
57 };
58
63 class STORMBYTE_CONFIG_PUBLIC InvalidName final: public Exception {
64 public:
65 using Exception::Exception;
66 };
67
72 class STORMBYTE_CONFIG_PUBLIC InvalidPath final: public Exception {
73 public:
74 using Exception::Exception;
75 };
76
81 class STORMBYTE_CONFIG_PUBLIC ParseError final: public Exception {
82 public:
83 using Exception::Exception;
84 };
85
90 class STORMBYTE_CONFIG_PUBLIC ItemNotFound final: public Exception {
91 public:
92 using Exception::Exception;
93 };
94
99 class STORMBYTE_CONFIG_PUBLIC ItemAlreadyExists final: public Exception {
100 public:
101 using Exception::Exception;
102 };
103
108 class STORMBYTE_CONFIG_PUBLIC ItemNameAlreadyExists final: public Exception {
109 public:
110 using Exception::Exception;
111 };
112
117 class STORMBYTE_CONFIG_PUBLIC OutOfBounds final: public Exception {
118 public:
119 using Exception::Exception;
120 };
121}
Base class for all configuration-related exceptions.
Definition exception.hxx:33
Thrown when an invalid name is used for an item.
Definition exception.hxx:63
Thrown when an invalid path is used for an item.
Definition exception.hxx:72
Thrown when attempting to add an item that already exists.
Definition exception.hxx:99
Thrown when an item's name conflicts with an existing name.
Definition exception.hxx:108
Thrown when an item cannot be found by its path or name.
Definition exception.hxx:90
Thrown when an index is out of bounds.
Definition exception.hxx:117
Thrown when a parsing error occurs in a configuration file.
Definition exception.hxx:81
Thrown when setting a value fails due to type mismatch.
Definition exception.hxx:54
Thrown when a value is converted to an incorrect type.
Definition exception.hxx:45
Config module of the StormByte suite.
Definition alias.hxx:29