Module:CallAssert/doc: Difference between revisions
Appearance
Content deleted Content added
Petr Matas (talk | contribs) |
No edit summary |
||
Line 11: | Line 11: | ||
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | | |
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | | |
||
[[Category:Error-handling modules]] |
[[Category:Error-handling modules]] |
||
[[Category:Lua metamodules]] |
|||
}}</includeonly> |
}}</includeonly> |
Revision as of 19:29, 9 October 2018
This metamodule provides function callAssert, which simplifies error checking by throwing an error if a given function returns nil or false. This is similar to the built-in function assert, but unlike it, callAssert itself calls the function, whose return value is to be checked. This allows it to include the function name and argument values in the error message.
Usage
local callAssert = require('Module:CallAssert') local result1, result2, etc = callAssert(func, 'funcName', ...)
callAssert
calls func(...)
and checks if the first returned value evaluates to true. If it does, then it returns all the returned values. If not, it throws an error with a message in the form 'funcName(argument_values) failed'
.