在腳本編寫中使用 Throw(我在程序中使用 Throw() 來停止程序特定部分的執行。 這在 JMP 13 中仍然有效,但有時我會看到一個帶有 JMP 警報的新窗口。我似乎無法模擬這個問題 - 它發生在用戶窗口中 - 程序看到問題,程序發送一個標題並執行 Throw()。在早期版本中,我只得到標題,現在我有時也會得到一個警報窗口。我認為 Throw() 只是停止執行。 我可以在 Throw("Hello") 中使用文本,在這種情況下,它將獲得帶有該文本的 JMP 警報 - 如果單獨執行,我只會獲得日誌中的文本。我不確定什麼時候會發生什麼。有人可以幫忙嗎。
回复:在腳本中使用 Throw(對於 Throw(
回复:在腳本中使用 Throw(關於 stop() 的另一件事。 它似乎只會停止包含它的顯示框中的腳本。
dt = open("$SAMPLE_DATA\Big Class.jmp");
newwindow("x", <<MODAL></MODAL>
回复:在腳本中使用 Throw(謝謝 Craige - 正是我需要的 - Stop() 函數。但我無法獲取 Sctipt 手冊。
我希望您的示例中的“拋出”按鈕會顯示一個空警報,如下所示。這就是我在自己的程序中得到的 - 正如你所說,它是在交互式環境中 
回复:在腳本中使用 Throw(
Alert dialog triggered by JSL throw in Interactive modeAlert dialog triggered by JSL throw in Interactive mode交互模式下由 JSL 引發的警報對話框
當 JSL 從按鈕腳本運行時,它以交互模式運行,並在 JMP 認為您應該知道發生了什麼時生成警報對話框。 如果您通過提交來運行腳本,JSL 將以批處理模式運行,並且僅向日誌發送警報。 我認為在你的情況下你可能想使用 stop() 而不是 throw("msg")。
當您提交此腳本時,它會以批處理模式運行並打開一個窗口。 當您單擊窗口中的按鈕時,按鈕腳本會交互運行。
newwindow("x",
buttonbox("throw(err msg)",setscript(print(1);throw("this is an error message");print(2))),
buttonbox("throw",setscript(print(3);throw();print(4))),
buttonbox("stop",setscript(print(5);stop();print(6))),
)
對於每個按鈕,由於腳本停止,因此僅在日誌中打印第一個數字。