The FINALLY part is not mandatory. If there is a catch part in the function, the FINALLY part must precede it.
http://gambasdoc.org/help/lang/finally The second call will be in the catch part not in finally. 2011/6/30 Stephen Bungay <sbun...@csolve.net>: > Hi folks! > > Gambas 2.99 > Fedora 14 > > Using mkdir with "catch" and "finally" to create a recursive SUB to > build a directory structure. > The harness consists of FormMain with one big-friendly button on it, > pretty simple. Here is all of the code; > > ' Gambas class file > > Public Sub _new() > > End > > Public Sub Form_Open() > > End > > Private Sub CreateNewOutputFolder(psFolderSpecification As String) > Dim sFolderSpec As String > > sFolderSpec = psFolderSpecification > > Mkdir sFolderSpec > > Finally > Mkdir sFolderSpec > > Catch > sFolderSpec = Mid$(psFolderSpecification, 1, > RInStr(psFolderSpecification, ".") - 1) > CreateNewOutputFolder(sFolderSpec) > End > > Public Sub Button1_Click() > > CreateNewOutputFolder("/home/user/Rumple/Stilskin/Was/Here") > > End > > > What I THINK should happen is the initial mkdir should fail, the code > in "catch" should execute and copy the passed in parameter from position > 1 to the charcter just prior to the last "/" and then call itself > passing in the new result as the parameter. When/if that call fails (and > it should as this folder specification doesn't exist in my home dir) it > again recurses. This should go on until it reaches the left-most node in > the directory structure (AFTER the "/home/user"), and THAT one > ("/home/user/Rumple) should be the first to succeed in being created. > The call stack should then unwind, and as it does, the previous SUBS on > the stack should execute their "Finally" section. When the stack has > completely unwound the directory structure should exist.... only that is > not what is happening. > The first Catch doesn't execute (although the directory does not get > created.. meaning an error did indeed occur) and it skips directly to > the "finally". When the mkdir in the "finally" is executed (same > parameter string because we have not yet recursed) the error "File or > Directory does not exist" pops up on the screen. Well there's the error > that I expected from the initial mkdir, but the "catch" didn't execute, > anybody got ideas? > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2d-c2 > _______________________________________________ > Gambas-user mailing list > Gambas-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gambas-user > -- Fabien Bodard ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 _______________________________________________ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user