RFR 9 8055330: (process spec) ProcessBuilder.start and Runtime.exec should throw UnsupportedOperationException ...

Alan Bateman Alan.Bateman at oracle.com
Sat Jan 31 21:03:01 UTC 2015

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.


More information about the core-libs-dev mailing list