Независимо от того, используете ли вы исключения, стандартные контейнеры (если они используют свои распределители по умолчанию) выдают std::bad_alloc
в случае сбоя выделения памяти. Если вы не поймете это, ваша программа прекратит работу - поэтому нет способа проверить успешность, не поймав исключение в этом случае.
Если вы действительно хотите уничтожить исключения (что, на мой взгляд, является плохой идеей, даже если вы не хотите использовать Стандартную библиотеку), то вам придется отказаться от стандартных контейнеров, переписав все контейнеры, которые вы хотите использовать нестандартная модель распределения, а также проверять и распространять любые сбои. Все стандартные контейнеры предполагают, что распределение будет либо успешным, либо выбросом, поэтому их нельзя использовать с распределителем, который не дает такой гарантии.