JSON の解析が Try で失敗すると、catch ブロックが実行されないようです。 また、以前は不正な JSON の解析がこれよりも問題があったこともわかりました (「このスレッド)、そのスレッドから提案された解析ロジックを取得しました。これにより、Try が期待どおりに動作するようになりますが、Try にはキャッチが実行されないという非常に特殊なシナリオがあることが問題のようです。
コード:
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>出力:</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