Difference between revisions of "Module:Protect/doc"
Jump to navigation
Jump to search
blackwiki>Petr Matas (Creating Module:Protect/doc) |
blackwiki>Petr Matas m (→Example) |
||
| Line 32: | Line 32: | ||
function p.main(frame) | function p.main(frame) | ||
if not frame.args[1] then | if not frame.args[1] then | ||
| − | error('missing argument', 0) | + | error('missing argument', 0) ''-- The zero prevents including location information'' |
end | end | ||
return frame.args[1] | return frame.args[1] | ||
Revision as of 15:38, 19 August 2018
| 26x26px | This module is rated as alpha. It is ready for third-party input, and may be used on a few pages to see if problems arise, but should be watched. Suggestions for new features or changes in their input and output mechanisms are welcome. |
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.
Contents
Usage
local protect = require('Module:Protect')
local protectedFunc = protect(func, errFormat, raw)
Arguments
func- Function to be transformed.
errFormat(optional)- Custom error message.
- Use
'%s'to include the message from a caught error. - Default:
'Error: %s'
raw(optional)- If true, then
errFormatwill be used as is, otherwise it will be wrapped inside a tag<strong class="error">. - Default: false
- If true, then
Return value
The resulting protectedFunc is a function, which calls the original function func, passing all arguments to it and returning all its return values. If func throws an error, the specified error message is returned instead.
Example
local protect = require('Module:Protect')
local p = {}
function p.main(frame)
if not frame.args[1] then
error('missing argument', 0) -- The zero prevents including location information
end
return frame.args[1]
end
p.main = protect(p.main)
return p
Invoking the main function without arguments will output: Error: missing argument