-
Notifications
You must be signed in to change notification settings - Fork 0
API Basic SafeCall zh tw
Codex edited this page Sep 21, 2026
·
1 revision
ClassicUO • Basic
Safe Call 是一般呼叫的相容性前綴,不會增加錯誤防護、逾時、鎖定或背景執行。
Safe Call FunctionName(arguments)
VAR value = Safe Call FunctionName(arguments)
-
FunctionName— 現有程序或函式的名稱。遊戲 API 必須使用 UO.;BASIC 內建函式不加前綴。 -
arguments— 所選函式的一般引數。必須使用括號,Safe 與 Call 之間使用空格。
傳回原函式結果。Unit 仍表示沒有值;Safe Call 不會把結果轉成 true/false。
- 呼叫仍在目前腳本流程中執行,遵守一般引數、ByRef、返回及取消規則,不會建立獨立工作。
- 不會抑制錯誤。請使用 Try/Catch 處理;Safe Call 本身不是錯誤處理器。
- RaiseEvent 不允許此前綴。新程式通常可直接使用 FunctionName(...)。這是本引擎的相容語法,不是標準 VB.NET 結構。
# Sum 收到 x=20、y=22,傳回 42。Safe Call 不改變結果型別或數值。
FUNCTION Sum(x, y)
RETURN x + y
END FUNCTION
SUB Main()
RETURN Safe Call Sum(20, 22)
END SUB參數與執行說明:
Sum 收到 x=20、y=22,傳回 42。Safe Call 不改變結果型別或數值。
# Val 收到字串 "123" 並傳回數值,加 7 得到 130。Val 是 BASIC 內建函式,不加 UO.。
SUB Main()
VAR text = "123"
RETURN Safe Call Val(text) + 7
END SUB參數與執行說明:
Val 收到字串 "123" 並傳回數值,加 7 得到 130。Val 是 BASIC 內建函式,不加 UO.。
# Fail 明確拋出錯誤,Catch 接收後將 caught 設為 TRUE (1)。沒有 Try/Catch 時錯誤會繼續向外傳播。下方包含完整的 Fail 程式碼。
FUNCTION Fail()
THROW "sample error"
END FUNCTION
SUB Main()
VAR caught = FALSE
TRY
VAR value = Safe Call Fail()
CATCH problem
caught = TRUE
END TRY
RETURN caught
END SUB參數與執行說明:
Fail 明確拋出錯誤,Catch 接收後將 caught 設為 TRUE (1)。沒有 Try/Catch 時錯誤會繼續向外傳播。下方包含完整的 Fail 程式碼。
ClassicUO - Bad Newbie & Basic IDE Edition