Fandom

WoWWiki

API pcall

104,637pages on
this wiki
Add New Page
Talk4 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

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);

ResultEdit

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.

DetailsEdit

pcall will also return other arguments returned from the "function" if all is successful.

Also on Fandom

Random Wiki