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] &}]