On 31/01/2015 16:15, Martin Buchholz wrote:
It's not a big deal, but I am opposed to this change.
Just an FYI that Roger seems to have pushed the original patch, this new
patch just moves the text down so that it flows a bit better.
The old spec
* <p>In such cases an exception will be thrown. The exact nature
* of the exception is system-dependent, but it will always be a
* subclass of {@link IOException}.
is perfectly adequate for OSes with no subprocesses.
Users should be catching and handling IOException in any case.
Throwing a RuntimeException seems wrong, and breaks the above promise!
It's lack of clarity in the above text that has been causing the
testability issue for so long so I think it is good to make it clear how
an implementation that does not support processes should behave. The
options on the table seem to be to define a sub-type of IOE for this
case, specify that an IOE be thrown with an UOE as the cause, or just
throw UOE when this feature is not supported.
-Alan