Protected calls let code choose a fallback value after a failure.

Fallback Result

fallback_result.lua
local raw = 
local result = tonumber(raw)
local ok = result ~= nil
local value = 0

if ok then
  value = result
end

print("raw=" .. raw)
print("ok=" .. tostring(ok))
print("value=" .. value)
local raw = 
local result = tonumber(raw)
local ok = result ~= nil
local value = 0

if ok then
  value = result
end

print("raw=" .. raw)
print("ok=" .. tostring(ok))
print("value=" .. value)
local raw = 
local result = tonumber(raw)
local ok = result ~= nil
local value = 0

if ok then
  value = result
end

print("raw=" .. raw)
print("ok=" .. tostring(ok))
print("value=" .. value)
fallback A fallback should be explicit so later code can tell the recovery path from a successful calculation.