Módulo:Protect/doc
Esta é uma subpágina de documentação para o Módulo:Protect. Ela contém informações sobre o seu uso, categorias, bem como todo o conteúdo que não faz parte do módulo original. |
Este metamódulo [en] simplifica o tratamento de erros em outros módulos. Ele transforma uma função, que pode gerar um erro, em uma função, que nesse caso retorna uma mensagem de erro especificada.
Uso
editar local protect = require('Módulo:Protect')
local protectedFunc = protect(func, errFormat, options)
Argumentos
editarfunc
- Função a ser transformada.
errFormat
(padrão:'Erro: %s'
)- Mensagem de erro personalizada.
- Utilize
'%s'
para incluir a mensagem a partir de um erro capturado.
options
– tabela opcional com os seguintes campos:raw
(padrão: false)- Se for verdadeiro (true), então
errFormat
será usado como está, caso não, será colocado dentro de uma marcação (tag)<strong class="error">
.
- Se for verdadeiro (true), então
removeLocation
(padrão: true)- Se for verdadeiro (true), remove as informações de localização das mensagens de erro capturadas.
Valor de retorno
editarO protectedFunc
resultante é uma função, que chama a função original func
, passando todos os argumentos para ela, e retorna todos os seus valores de retorno. Se func
gerar um erro, a mensagem de erro especificada será retornada.
Exemplo
editarlocal protect = require('Módulo:Protect')
local p = {}
function p.main(frame)
if not frame.args[1] then
error('argumento faltando')
end
return frame.args[1]
end
p.main = protect(p.main)
return p
Invocar a função principal sem argumentos resultará em: Erro: argumento faltando