Modul:Benutzer:PerfektesChaos/Fehlerauffangen

Die Dokumentation für dieses Modul kann unter Modul:Benutzer:PerfektesChaos/Fehlerauffangen/Doku erstellt werden

-- Demonstration ordnungsgemäßer Fehlerbehandlung
-- PerfektesChaos 2020-06-26


local subtraktion = function ( alles, abziehen )
    return  alles - abziehen
end -- subtraktion()


-- Export
local p = { }

p.subtraktionOkay = function ()
    local lucky, r = pcall( subtraktion, 550, 3 )
    if not lucky then
        r = "FEHLERBEHANDLUNG subtraktionOkay: " .. r
    end
    return r
end -- p.subtraktionOkay

p.subtraktionFalsch = function ()
    local lucky, r = pcall( subtraktion, 28, false )
    if not lucky then
        r = "FEHLERBEHANDLUNG subtraktionFalsch: " .. r
    end
    return r
end -- p.subtraktionFalsch

p.entityZugriff = function ( frame )
    local zugriff = frame.args[ 1 ]
    local lucky, r = pcall( mw.wikibase.getEntity, zugriff )
    if not lucky then
        r = "FEHLERBEHANDLUNG entityZugriff: " .. tostring( zugriff ) .. " " .. r
    end
    return tostring( r ) .. " (" .. zugriff .. ")"
end -- p.entityZugriff

return p