API pcall

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, ... = pcall (func, arg1, arg2, ...);
==Arguments==
:;func:Function - The function that will be called (from within) pcall().
:;arg1:Variable - Any variable that is also to be passed with the function when its called (Optional).
==Returns==
:;retOK: - If the call to the function (that was passed to pcall) succeeded, returns true. If an error occured, returns false.
:;ret1: (if failed) / Variable - If an error occured, error text is returned; if not, ret1 is the first return value of the original function.
:;ret2:Variable - If the function call succeeded, those return variables contain values returned by original function.
==Example==
 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====
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==
: pcall will also return other arguments returned from the "function" if all is successful.