Well "" is simply an error return value. We already return it if the `-datadir` is specified and doesn't exist.
At the beginning of bitcoind and -qt we check GetDataDir(False) for this empty value and show an error if that is the case.