Version 2.0
719 downloads
Note:
This file is intended to be used by script developers.
If you don't develop scripts or don't know what it is, ignore this file.
Description:
The file consists of three functions:
- "attachHandler" function modifies a function in a way that when it returns a string, specified error handling function is called with that string as argument. It returns modified version of the function. This function should only be used on functions that return a string with error description when an error occurs. There is a list of such functions from GG API in the file.
- "defaultHandler" function is an example of error handling function.
- "testError" function (commented by default) "simulates" a function that has returned a string with error description, used for testing.
How to use:
1. Include contents of the file at the beginning of your code.
2. Optionally create custom error handling functions. Error handling function has to accept 1 argument - a string with error description.
3. Use "attachHandler" function to get modified version of the function and either redefine original function with it or store it in a new variable.
4. Repeat step 3 for all desired functions.
Examples:
-- Custom error handling function
local function myHandler(errorText)
gg.toast('Whoops, looks like something went wrong', true)
gg.toast('Mysterious error: ' .. errorText)
print('Description of the error that has occurred during script execution:\n' .. errorText)
end
-- Using default error handling function and redefining the original function
gg.searchNumber = attachHandler(gg.searchNumber, defaultHandler)
-- Using custom error handling function and storing modified function in a new variable
local getResultsModified = attachHandler(gg.getResults, myHandler)
-- If an error occurs, "defaultHandler" function will be called
gg.searchNumber('123', gg.TYPE_DWORD)
-- If an error occurs, no error handling function will be called
local results1 = gg.getResults(100)
-- If an error occurs, "myHandler" function will be called
local results2 = getResultsModified(100)