1 #pragma once 2 3 #include <exception> 4 #include <string> 5 6 namespace host_tool 7 { 8 9 class ToolException : public std::exception 10 { 11 public: 12 explicit ToolException(const std::string& message) : message(message){}; 13 14 virtual const char* what() const noexcept override 15 { 16 return message.c_str(); 17 } 18 19 private: 20 std::string message; 21 }; 22 23 } // namespace host_tool 24