-
Notifications
You must be signed in to change notification settings - Fork 0
API Basic SafeCall it
ClassicUO • Basic
Safe Call è un prefisso di compatibilità per una chiamata normale. Non aggiunge protezione dagli errori, timeout, blocchi o esecuzione in background.
Safe Call FunctionName(arguments)
VAR value = Safe Call FunctionName(arguments)
-
FunctionName— Nome di una procedura/funzione esistente. Le chiamate di gioco richiedono UO.; le funzioni BASIC integrate non hanno prefisso. -
arguments— Argomenti normali della funzione scelta. Le parentesi sono obbligatorie. Usare spazi tra Safe e Call.
Restituisce il risultato originale. Unit continua a indicare nessun valore; Safe Call non converte il risultato in true/false.
- La chiamata resta nel flusso corrente dello script con le normali regole per argomenti, ByRef, ritorno e annullamento. Non crea un’attività separata.
- Gli errori non vengono soppressi. Usare Try/Catch; Safe Call da solo non gestisce gli errori.
- Il prefisso non è consentito in RaiseEvent. Il nuovo codice può normalmente usare direttamente FunctionName(...). È sintassi di compatibilità del motore, non un costrutto VB.NET standard.
# Sum riceve x=20 e y=22 e restituisce 42. Safe Call non modifica né tipo né numero restituito.
FUNCTION Sum(x, y)
RETURN x + y
END FUNCTION
SUB Main()
RETURN Safe Call Sum(20, 22)
END SUBSpiegazione dei parametri e dell’esecuzione:
Sum riceve x=20 e y=22 e restituisce 42. Safe Call non modifica né tipo né numero restituito.
# Val riceve "123" e restituisce un numero. Aggiungendo 7 si ottiene 130. Val è integrata in BASIC: non aggiungere UO.
SUB Main()
VAR text = "123"
RETURN Safe Call Val(text) + 7
END SUBSpiegazione dei parametri e dell’esecuzione:
Val riceve "123" e restituisce un numero. Aggiungendo 7 si ottiene 130. Val è integrata in BASIC: non aggiungere UO.
# Fail genera esplicitamente un errore. Catch lo riceve e imposta caught su TRUE (1). Senza Try/Catch si propagherebbe. Il codice completo di Fail è riportato sotto.
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 SUBSpiegazione dei parametri e dell’esecuzione:
Fail genera esplicitamente un errore. Catch lo riceve e imposta caught su TRUE (1). Senza Try/Catch si propagherebbe. Il codice completo di Fail è riportato sotto.
ClassicUO - Bad Newbie & Basic IDE Edition