Module:Protect/doc: Difference between revisions
Appearance
Content deleted Content added
Caleb Cooper (talk | contribs) Created page with "{{Module rating|a}} {{used in system}} This metamodule simplifies error handling in other modules. It transforms a function, which may throw an error,..." |
Caleb Cooper (talk | contribs) No edit summary |
||
| Line 1: | Line 1: | ||
{{Module rating|a}} |
{{Module rating|a}} |
||
{{used in system}} |
{{used in system}} |
||
This |
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. |
||
{{Commons Import}} |
{{Commons Import}} |
||
== Usage == |
== Usage == |
||
Latest revision as of 18:25, 21 October 2020
| 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 module is used in system messages. Changes to it can cause immediate changes to the Wikipedia user interface. To avoid large-scale disruption, any changes should first be tested in this module's /sandbox or /testcases subpage, or in your own user space. The tested changes can then be added in one single edit to this module. Please discuss any changes on the talk page before implementing them. |
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.
| This page was automatically imported from Commons any changes will be overwritten, the source page is here () |
Usage
local protect = require('Module:Protect')
local protectedFunc = protect(func, errFormat, options)
Arguments
func- Function to be transformed.
errFormat(default:'Error: %s')- Custom error message.
- Use
'%s'to include the message from a caught error.
options– optional table with the following fields:raw(default: false)- If true, then
errFormatwill be used as is, otherwise it will be wrapped inside a tag<strong class="error">.
- If true, then
removeLocation(default: true)- If true, removes location information from caught error messages.
Return value
The resulting protectedFunc is a function, which calls the original function func, passing all arguments to it, and returns 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')
end
return frame.args[1]
end
p.main = protect(p.main)
return p
Invoking the main function without arguments will output: Error: missing argument