use enum class for error_handler_result