I've integrated this improvement into SVN... Thanks! :-) Maarten
----- Original Message ---- From: Xavier Hanin <[EMAIL PROTECTED]> To: [email protected] Sent: Friday, January 5, 2007 2:22:51 PM Subject: Re: svn commit: r492785 - in /incubator/ivy/trunk: CHANGES.txt src/java/fr/jayasoft/ivy/repository/AbstractRepository.java On 1/5/07, Stephane Bailliez <[EMAIL PROTECTED]> wrote: > > Xavier Hanin wrote: > > Now for the FileUtil and CopyProgressListener part, the documentation > > doesn't say anything, but I think that the intent is to send an event > > only > > if the transfer is successfully completed. Maybe adding an event in > > case of > > an error would improve the API, and then to avoid modifying the > > CopyProgressListener interface we could simply call end and add an > > exception > > in the CopyProgressEvent. But if we want to call the end method only > > if the > > copy is actually successful, putting the call after closing the streams > > would cause it to be sent if an exception occured in the try block. So > we > No don't put the end() in the finally. what I meant was : > > try { > copy(...) > } finally { > close() > } > end() > > That is, end() is only called if it is successful. which looks like to > me the original intent. > end() cannot really be before the close() as the close() does an > underlying flush()/close(). > So considering it is silly to throw an exception in the finally when you > may already have an exception, maybe do > try { > copy(...) > close() > } finally { > closequietly() > } You're right, it would be cleaner like this. It would avoid swalloling the original exception by the exception in the close if any. Xavier > should remind to test if we have actually reached the end of the try > > block > > before calling the end method. Or test if no exception was raised, > > which is > > better if we want to call the end method in all cases, with an > > exception in > > case of a transfer which caused an exception, and without in case of a > > successful transfer. > > > > What do you think? > > have to read that piece of code again. busy for the day now. :) > > -- stephane > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
