Future.resultNow()
    forax at univ-mlv.fr 
    forax at univ-mlv.fr
       
    Sat Nov 20 21:44:16 UTC 2021
    
    
  
> From: "Alex Otenko" <oleksandr.otenko at gmail.com>
> To: "Remi Forax" <forax at univ-mlv.fr>
> Cc: "loom-dev" <loom-dev at openjdk.java.net>
> Sent: Samedi 20 Novembre 2021 21:10:59
> Subject: Re: Future.resultNow()
> I wouldn't expect it to contain the exact cause (why the cause, and not the
> cause of the cause of the cause), and expect exceptionNow to be the source of
> truth.
Are you afraid that people will catch the ISE to extract the exception instead of using Future.get() and catch the ExecutionException to extract the exception ? 
This is a valid concern, ExecutionException is checked and ISE is not, if you provide two ways to get the same thing, i believe people will go with the method that throws an unchecked exception. 
So perhaps, instead of using the cause field, the error message of the ISE should contain a string version of the exception like toString() does. 
> Alex
Rémi 
> On Sat, 20 Nov 2021, 19:14 Remi Forax, < [ mailto:forax at univ-mlv.fr |
> forax at univ-mlv.fr ] > wrote:
>> If a callable throws an exception, Future.resultNow() throws an ISE but forget
>> to set the resulting exception as the cause of the ISE.
>> regards,
>> Rémi
    
    
More information about the loom-dev
mailing list