RFR 9 8055330: (process spec) ProcessBuilder.start and Runtime.exec should throw UnsupportedOperationException ...
Roger Riggs
Roger.Riggs at Oracle.com
Fri Feb 20 19:58:00 UTC 2015
Hi Martin,
As I said earlier, launching a Process when process is not implemented
is not a recoverable condition; there are no conditions under which it will
succeed. If the application is probing to determine what
is supported on a platform then it should be prepared to handle UOE
or using a test for the specific capability it requires.
Roger
On 2/20/2015 1:34 PM, Martin Buchholz wrote:
> One reason I keep pouring salt on this tiny wound is that throwing
> (unchecked) UOE for system-dependent failures when normally IOE is thrown
> is a fundamental design mistake for java and its checked exception design.
> I think it violates Josh's Effective Java Item 58: Use checked exceptions
> for recoverable conditions and runtime exceptions for programming errors.
> I don't think it's worth fixing places in jdk8 where this small mistake was
> made, but we can at least stop the incompatible worsening of existing APIs.
>
> On Fri, Feb 20, 2015 at 3:49 AM, Alan Bateman <Alan.Bateman at oracle.com>
> wrote:
>
>> On 19/02/2015 21:54, Jason Mehrens wrote:
>>
>>> I'm assuming that compatibility is given more weight vs. correcting
>>> choices made in the original design.
>>>
>>> Yes, I think we've spent more than enough time on it. In this case it's
>> for a major release only and the compatibility impact seems to be only
>> platforms or implementations that don't support launching of processes
>> today but are running applications that attempt to start processes anyway.
>> So overall it doesn't seem to be something to be overly concerned with.
>>
>> -Alan
>>
More information about the core-libs-dev
mailing list