Re: Using Throw/Catch in MeshFunctions doesn't work? (8.0.4)

*To*: mathgroup at smc.vnet.net*Subject*: [mg125362] Re: Using Throw/Catch in MeshFunctions doesn't work? (8.0.4)*From*: bradc355113 at yahoo.com*Date*: Fri, 9 Mar 2012 06:09:59 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <jj9uld$dqp$1@smc.vnet.net>

Oops, the Goto/Label workaround that I described previously doesn't actually seem to work either. I get a "Label not found" error. Again, this only happens when used in the MeshFunctions option. In other scenarios the Goto/Label work fine. Here's a simple example that generates the Goto::nolabel error: Plot3D[x^2 + y^2, {x, -1, 1}, {y, -1, 1}, MeshFunctions -> {(Goto[tag]; Label[tag]; #1 #2) &}] My workaround now is to use nested If statements like this: f[...] := Module[ {ret}, DoStepA[]; If[StepAFailed[], Message[...]; ret = $Failed, (* else success so far *) DoStepB[]; If[StepBFailed[], Message[...]; ret = $Failed, (* else success so far *) ... ret = DoFinalCalculation[] ] ]; ret ] Plot3D[..., MeshFunctions -> {f[#1, #2] &}]