-
Notifications
You must be signed in to change notification settings - Fork 0
API Basic SafeCall uk
ClassicUO • Basic
Safe Call — сумісний префікс звичайного виклику. Він не додає захисту від помилок, тайм-ауту, блокування чи фонового виконання.
Safe Call FunctionName(arguments)
VAR value = Safe Call FunctionName(arguments)
-
FunctionName— Ім’я наявної процедури/функції. Ігрові виклики потребують 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