Ich sehe, dass der Catch-Block nicht ausgeführt zu werden scheint, wenn Parse JSON in einem Try fehlschlägt. Ich sehe auch, dass das Parsen von fehlerhaftem JSON in der Vergangenheit problematischer war (siehe dieser Thread ), also habe ich mir die vorgeschlagene Parsing-Logik aus diesem Thread geholt, die es mir ermöglicht, dass sich Try wie erwartet verhält, aber es scheint problematisch, dass Try dieses sehr spezifische Szenario hat, in dem es seinen Catch nicht ausführt.
Code:
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>Ausgabe:</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