This metamodule simplifies error handling in other modules. It transforms a function, which may throw an error, into a function, which returns a specified error message in that case.
Function to be transformed.
Custom error message.
Use to include the message from a caught error.
If true, then will be used as is, otherwise it will be wrapped inside a tag <nowiki><strong class="error"></nowiki>
.
If true, removes location information from caught error messages.
The resulting is a function, which calls the original function , passing all arguments to it, and returns all its return values. If throws an error, the specified error message is returned instead.
local p =
function p.main(frame) if not frame.args[1] then error('missing argument') end return frame.args[1]end
p.main = protect(p.main)
return pInvoking the main function without arguments will output: Error: missing argument