The legacy code did this in the ctor and just logged it like this
	try {
        multi = CMultiDLFN::create(name,udesc);
	}
	catch (IException *e) {
		StringBuffer err;
		e->errorMessage(err);
		WARNLOG("CDfsLogicalFileName::set %s",err.str());
		e->Release();
		multi = false;
	}

But I agree that it should throw, so I am making that change