lintel 0.2.0
Loading...
Searching...
No Matches
ConfigurationException.h
Go to the documentation of this file.
1#ifndef LINTEL_CONFIGURATIONEXCEPTION_H
2#define LINTEL_CONFIGURATIONEXCEPTION_H
3
4#include <cstdint>
5#include <exception>
6#include <string>
7#include <utility>
8
9namespace lintel {
11class ConfigurationException : public std::exception
12{
13private:
15 std::string m_componentName;
17 std::string m_message;
19 int32_t m_line;
21 std::string m_printMessage;
22
23public:
28 ConfigurationException(std::string componentName, std::string message, int32_t line)
29 : m_componentName(std::move(componentName)), m_message(std::move(message)), m_line(line)
30 {
31 m_printMessage = m_componentName + ":" + std::to_string(m_line) + " -> " + m_message;
32 }
33
36 [[nodiscard]] const char *what() const noexcept override { return m_printMessage.c_str(); }
37};
38
39}// namespace lintel
40#endif// LINTEL_CONFIGURATIONEXCEPTION_H
Definition ConfigurationException.h:12
ConfigurationException(std::string componentName, std::string message, int32_t line)
Definition ConfigurationException.h:28
const char * what() const noexcept override
Definition ConfigurationException.h:36
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9