>+ } catch (Exception e) { >+ if (i<retryCount) { >+ log("Attempt ["+i+"] error occured, retrying...", e, Project.MSG_INFO); >+ } else { >+ throw new BuildException("Task ["+nestedTask.getTaskName()+"] failed after ["+retryCount+"] attempts, giving up"); >+ } >+ } > >I do not know very much about ant exception handling in general. >So it seems to me that e is lost in some cases and I think it >is not a good idea.
Would this be more useful? public void execute() throws BuildException { StringBuffer errorMessages = new StringBuffer(); for(int i=0; i<=retryCount; i++) { try { nestedTask.perform(); break; } catch (Exception e) { if (i<retryCount) { log("Attempt ["+i+"] error occured, retrying...", e, Project.MSG_INFO); errorMessages.append(e.getMessage()); errorMessages.append(getProject().getProperty("line.separator")); } else { errorMessages.append(e.getMessage()); StringBuffer exceptionMessage = new StringBuffer(); exceptionMessage.append("Task [").append(nestedTask.getTaskName()); exceptionMessage.append("] failed after [").append(retryCount); exceptionMessage.append("] attempts, giving up."); exceptionMessage.append(getProject().getProperty("line.separator")); exceptionMessage.append("Error messages:").append(getProject().getProperty("line.separator")); exceptionMessage.append(errorMessages); throw new BuildException(exceptionMessage.toString(), getLocation()); } } } } <target name="test-fail-and-retry"> <property name="i" value="3"/> <property name="dest" value="${java.io.tmpdir}/dest"/> <!-- just in case this ever becomes a legit url... --> <property name="src" value="http://iojasodjojaosdj"/> <retry retrycount="${i}"> <get src="${src}" dest="${dest}"/> </retry> </target> test-fail-and-retry: [get] Getting: http://iojasodjojaosdj [get] To: c:\temp\dest [get] Error getting http://iojasodjojaosdj to c:\temp\dest [retry] Attempt [0] error occured, retrying... [get] Getting: http://iojasodjojaosdj [get] To: c:\temp\dest [get] Error getting http://iojasodjojaosdj to c:\temp\dest [retry] Attempt [1] error occured, retrying... [get] Getting: http://iojasodjojaosdj [get] To: c:\temp\dest [get] Error getting http://iojasodjojaosdj to c:\temp\dest [retry] Attempt [2] error occured, retrying... [get] Getting: http://iojasodjojaosdj [get] To: c:\temp\dest [get] Error getting http://iojasodjojaosdj to c:\temp\dest BUILD FAILED C:\TEMP\retry-test.xml:9: Task [get] failed after [3] attempts, giving up. Error messages: java.net.UnknownHostException: iojasodjojaosdj java.net.UnknownHostException: iojasodjojaosdj java.net.UnknownHostException: iojasodjojaosdj java.net.UnknownHostException: iojasodjojaosdj Jan --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]