This isn't true. You could work harder as a programmer and transfer the exception object from the gobbler thread into a variable that is shared with the calling thread, then have the calling thread wait for completion of the gobbler thread and check its exception status.

Actually, this may be what you want. If we are unable to read the command and we are capturing the command's stderr stream, we should wrap that up into an exception object and throw it to the caller rather than assuming everything is OK, or printing it to our own Java stderr.