関数から飛び出す?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />関数からきれいに飛び出す方法はありますか?のようなものブレーク() forループ内の関数 私はもう試したスロー() しかしそれはJSLスクリプト全体を停止させます。
再:関数から飛び出す?Throw()を使わないでTry()でエラーの発生しやすい式をよく囲みます。Try()の配置(関数内または関数呼び出しの周囲)は、関数の一部のみをエスケープするか、例外の場合に完全にエスケープするかによって異なります。Throw()は実行を停止し、私は主にデバッグのためにそれを使う傾向があります。
これらの例とその出力を比較してください。
//関数内でtry()を実行すると、選択した関数の一部がエスケープされ、スクリプトの実行が続行されます。
exsqr = 関数 ( { バツ } 、
×2 = やってみる ( バツ * バツ 、 「エラー、先へ進んでください。」 ) ;
見せる ( "xがNaNであっても表示する" ) ;
×2 ;
) ;
平方 = exsqr ( "q" ) ;
見せる ( 平方 、 「関数のエスケープに失敗しましたが、スクリプトは続行されました」 ) ;
//関数呼び出しを囲むtry()関数をエスケープし、スクリプトの実行を継続します。
exsqr = 関数 ( { バツ } 、
×2 = バツ * バツ ;
見せる ( "xがNaNの場合、これを表示しない" ) ;
×2 ;
) ;
平方 = やってみる ( exsqr ( "q" ) ) ;
見せる ( 平方 、 「関数のエスケープが成功しました。」 ) ;
// Throw()を指定してTry()を実行すると、関数とスクリプトがエスケープされます。
exsqr = 関数 ( { バツ } 、
×2 = やってみる ( バツ * バツ 、スロー ( 「エラー、ここでやめて!」 || チャー ( exception_msg ) ) ) ;
見せる ( "xがNaNの場合、これを表示しない" ) ;
) ;
平方 = exsqr ( "q" ) ;
見せる ( 平方 、 「スクリプトが停止しました」 ) ;
Re:関数から飛び出しますか?使ってもらえますか return() ?
Re:関数から飛び出しますか?はい、return()は関数から抜け出しますRe: 関数から抜け出すには?return() を使用して関数を終了しようとするとエラーが発生します。
ボタンボックスを作成するとエラーが発生します
bb = Button Box("SpecsAuto")次に関数を追加します
bb << Set Function( Return() )
次にボックスをクリックします。
エラーを再現するためのデモ コードは次のとおりです。
nw = New Window("Win1");
nw << Append(bb = Button Box("SpecsAuto"));
bb << Set Function(
Print("A");
Return();
Print("B");
);
bb << Click();

Re: 関数から抜け出すには?set function() は、スクリプトのように関数が指定されていない場合でも機能します。
return()の魔法を使うには、それを関数内に置く必要があります。
nw = New Window("Win1");
nw << Append(bb = Button Box("SpecsAuto"));
bb << Set function(Function({},
Print("A");
Return();
Print("B");)
);
bb << Click();