v2.0.5-rc (#41)
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				BlockStorage/repertory/pipeline/head This commit looks good
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	BlockStorage/repertory/pipeline/head This commit looks good
				
			Reviewed-on: #41
This commit is contained in:
		| @@ -19,12 +19,15 @@ | ||||
|   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|   SOFTWARE. | ||||
| */ | ||||
| #include "utils/config.hpp" | ||||
| #include "utils/error.hpp" | ||||
|  | ||||
| #include "utils/config.hpp" | ||||
| #include "utils/string.hpp" | ||||
|  | ||||
| namespace repertory::utils::error { | ||||
| std::atomic<const i_exception_handler *> exception_handler{ | ||||
|     &default_exception_handler}; | ||||
|     &default_exception_handler, | ||||
| }; | ||||
|  | ||||
| #if defined(PROJECT_ENABLE_V2_ERRORS) | ||||
| void iostream_exception_handler::handle_debug(std::string_view function_name, | ||||
| @@ -238,4 +241,83 @@ void spdlog_exception_handler::handle_warn(std::string_view function_name, | ||||
|   file->warn(utils::error::create_error_message(function_name, {msg})); | ||||
| } | ||||
| #endif // defined(PROJECT_ENABLE_SPDLOG) && defined(PROJECT_ENABLE_V2_ERRORS) | ||||
|  | ||||
| #if defined(PROJECT_ENABLE_V2_ERRORS) | ||||
| void handle_debug(std::string_view function_name, std::string_view msg) { | ||||
|   const i_exception_handler *handler{exception_handler}; | ||||
|   if (handler != nullptr) { | ||||
|     handler->handle_debug(function_name, msg); | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   default_exception_handler.handle_debug(function_name, msg); | ||||
| } | ||||
| #endif // defined(PROJECT_ENABLE_V2_ERRORS) | ||||
|  | ||||
| void handle_error(std::string_view function_name, std::string_view msg) { | ||||
|   const i_exception_handler *handler{exception_handler}; | ||||
|   if (handler != nullptr) { | ||||
|     handler->handle_error(function_name, msg); | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   default_exception_handler.handle_error(function_name, msg); | ||||
| } | ||||
|  | ||||
| void handle_exception(std::string_view function_name) { | ||||
|   const i_exception_handler *handler{exception_handler}; | ||||
|   if (handler != nullptr) { | ||||
|     handler->handle_exception(function_name); | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   default_exception_handler.handle_exception(function_name); | ||||
| } | ||||
|  | ||||
| void handle_exception(std::string_view function_name, | ||||
|                       const std::exception &ex) { | ||||
|   const i_exception_handler *handler{exception_handler}; | ||||
|   if (handler != nullptr) { | ||||
|     handler->handle_exception(function_name, ex); | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   default_exception_handler.handle_exception(function_name, ex); | ||||
| } | ||||
|  | ||||
| #if defined(PROJECT_ENABLE_V2_ERRORS) | ||||
| void handle_info(std::string_view function_name, std::string_view msg) { | ||||
|   const i_exception_handler *handler{exception_handler}; | ||||
|   if (handler != nullptr) { | ||||
|     handler->handle_info(function_name, msg); | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   default_exception_handler.handle_info(function_name, msg); | ||||
| } | ||||
|  | ||||
| void handle_trace(std::string_view function_name, std::string_view msg) { | ||||
|   const i_exception_handler *handler{exception_handler}; | ||||
|   if (handler != nullptr) { | ||||
|     handler->handle_trace(function_name, msg); | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   default_exception_handler.handle_trace(function_name, msg); | ||||
| } | ||||
|  | ||||
| void handle_warn(std::string_view function_name, std::string_view msg) { | ||||
|   const i_exception_handler *handler{exception_handler}; | ||||
|   if (handler != nullptr) { | ||||
|     handler->handle_warn(function_name, msg); | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   default_exception_handler.handle_warn(function_name, msg); | ||||
| } | ||||
| #endif // defined(PROJECT_ENABLE_V2_ERRORS) | ||||
|  | ||||
| void set_exception_handler(const i_exception_handler *handler) { | ||||
|   exception_handler = handler; | ||||
| } | ||||
| } // namespace repertory::utils::error | ||||
|   | ||||
		Reference in New Issue
	
	Block a user