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