Better exception for factory failures