1c404b3ecSPatrick Venture #pragma once 2c404b3ecSPatrick Venture 3c404b3ecSPatrick Venture #include <exception> 4c404b3ecSPatrick Venture #include <string> 5c404b3ecSPatrick Venture 6c404b3ecSPatrick Venture class SensorBuildException : public std::exception 7c404b3ecSPatrick Venture { 8c404b3ecSPatrick Venture public: SensorBuildException(const std::string & message)983a2c3b2SPatrick Venture explicit SensorBuildException(const std::string& message) : message(message) 10*a83a3eccSPatrick Venture {} 11c404b3ecSPatrick Venture what() const12c404b3ecSPatrick Venture virtual const char* what() const noexcept override 13c404b3ecSPatrick Venture { 14c404b3ecSPatrick Venture return message.c_str(); 15c404b3ecSPatrick Venture } 16c404b3ecSPatrick Venture 17c404b3ecSPatrick Venture private: 18c404b3ecSPatrick Venture std::string message; 19c404b3ecSPatrick Venture }; 20734f9535SJames Feist 21734f9535SJames Feist class ControllerBuildException : public std::exception 22734f9535SJames Feist { 23734f9535SJames Feist public: ControllerBuildException(const std::string & message)2483a2c3b2SPatrick Venture explicit ControllerBuildException(const std::string& message) : 2583a2c3b2SPatrick Venture message(message) 26*a83a3eccSPatrick Venture {} 27734f9535SJames Feist what() const28734f9535SJames Feist virtual const char* what() const noexcept override 29734f9535SJames Feist { 30734f9535SJames Feist return message.c_str(); 31734f9535SJames Feist } 32734f9535SJames Feist 33734f9535SJames Feist private: 34734f9535SJames Feist std::string message; 35734f9535SJames Feist }; 3681cef914SPatrick Venture 3781cef914SPatrick Venture class ConfigurationException : public std::exception 3881cef914SPatrick Venture { 3981cef914SPatrick Venture public: ConfigurationException(const std::string & message)4083a2c3b2SPatrick Venture explicit ConfigurationException(const std::string& message) : 4183a2c3b2SPatrick Venture message(message) 42*a83a3eccSPatrick Venture {} 4381cef914SPatrick Venture what() const4481cef914SPatrick Venture virtual const char* what() const noexcept override 4581cef914SPatrick Venture { 4681cef914SPatrick Venture return message.c_str(); 4781cef914SPatrick Venture } 4881cef914SPatrick Venture 4981cef914SPatrick Venture private: 5081cef914SPatrick Venture std::string message; 5181cef914SPatrick Venture }; 52