Rework ProcReader to throw a string on error.