Veo que cuando Parse JSON falla en un intento, el bloque catch no parece ejecutarse. También veo que analizar JSON con formato incorrecto ha sido más problemático que esto en el pasado (ver este hilo ), así que tomé la lógica de análisis sugerida de ese hilo, lo que me permite hacer que Try se comporte como se esperaba, pero parece problemático que Try tenga este escenario tan específico en el que no ejecuta su captura.
Código:
someVar = Try(
Parse JSON("{{1}}"),
Print("in catch 1");
2;
);
someVar2 = Try(
Throw( "broke!" ),
Print("in catch 2");
2;
);
someVar3 = Try(
txt = Log Capture( result = Parse JSON( "{{1}}") );
If( Length( txt ),
Throw( txt ) // error message
);
result; // parsed JSON
,
Print("in catch 3");
2;
);
Print("someVar is:");
Print(someVar);
Print("someVar2 is:");
Print(someVar2);
Print("someVar3 is:");
Print(someVar3);</CODE></P><P>Producción:</P><P> </P><P> </P><PRE><CODE class=" language-jsl">Unexpected "{". Perhaps there is a missing }.
Line 1 Column 2: {►{1}}
"someVar is:"
.
"someVar2 is:"
2
"someVar3 is:"
2