WoW:API pcall: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
|||
(5 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{wowlua}} | |||
Calls a function, returning a boolean indicating success as the first return value, and error text / return values as the following values. | |||
retOK, ret1, ret2, ... retn = pcall (func, arg1, arg2, ...); | |||
== Arguments == | |||
;func | |||
: Function - The function that will be called (from within) pcall(). | |||
;arg1 - argn | |||
: Variable - Any variable that is also to be passed with the function when its called (Optional). | |||
== Returns == | |||
;retOK | |||
: Boolean - If the call to the function (that was passed to pcall) succeeded, returns true. If an error occured, returns false. | |||
;ret1 | |||
: String (if failed) / Variable - If an error occured, error text is returned; if not, ret1 is the first return value of the original function. | |||
;ret2 - retn | |||
: Variable - If the function call succeeded, those return variables contain values returned by original function. | |||
; | |||
== Example == | == Example == | ||
function myTest() | function myTest(incrementVal) | ||
return incrementVal + 10; | |||
end | end | ||
local | local retOK, ret1 = pcall(myTest,"string value"); | ||
local msg = ""; | |||
if (retOK) then | |||
msg = "Function succeeded, result: " .. ret1 .. "."; | |||
else | |||
msg = "Function failed, error text: " .. ret1 .. "."; | |||
end | |||
DEFAULT_CHAT_FRAME:AddMessage(msg); | |||
====Result==== | ====Result==== | ||
pcall will catch the error that occured within 'myTest' and | pcall will catch the error that occured within 'myTest', and output the appropriate text to the default chat window. If "string value" is replaced by a number, the code will output number+10 instead. | ||
==Details== | ==Details== | ||
: pcall will ''also'' return other arguments returned from the "function" if all is successful. | : pcall will ''also'' return other arguments returned from the "function" if all is successful. | ||
Latest revision as of 04:47, 15 August 2023
← WoW Lua
Calls a function, returning a boolean indicating success as the first return value, and error text / return values as the following values.
retOK, ret1, ret2, ... retn = pcall (func, arg1, arg2, ...);
Arguments[edit]
- func
- Function - The function that will be called (from within) pcall().
- arg1 - argn
- Variable - Any variable that is also to be passed with the function when its called (Optional).
Returns[edit]
- retOK
- Boolean - If the call to the function (that was passed to pcall) succeeded, returns true. If an error occured, returns false.
- ret1
- String (if failed) / Variable - If an error occured, error text is returned; if not, ret1 is the first return value of the original function.
- ret2 - retn
- Variable - If the function call succeeded, those return variables contain values returned by original function.
Example[edit]
function myTest(incrementVal) return incrementVal + 10; end local retOK, ret1 = pcall(myTest,"string value"); local msg = ""; if (retOK) then msg = "Function succeeded, result: " .. ret1 .. "."; else msg = "Function failed, error text: " .. ret1 .. "."; end DEFAULT_CHAT_FRAME:AddMessage(msg);
Result[edit]
pcall will catch the error that occured within 'myTest', and output the appropriate text to the default chat window. If "string value" is replaced by a number, the code will output number+10 instead.
Details[edit]
- pcall will also return other arguments returned from the "function" if all is successful.