Notas de estudo de Lua - manipulação de exceções pcall, xpcall

                                 Notas de estudo de Lua - manipulação de exceções pcall, xpcall, debug


índice

1. Introdução ao blog

(1) pcall

(2) xpcall

3. Empurre

4. Conclusão


1. Introdução ao blog

Este artigo registra os pontos de conhecimento da aprendizagem em Lua, os métodos de tratamento de exceções pcall, xpcall, debug


2. Conteúdo

(1) pcall

pcall tem dois parâmetros, escritos como pcall (parm1, parm2), o parâmetro parma1 é o método a ser executado, o parâmetro parm2 é o parâmetro do método do parâmetro 1, pcall (~, ~) retorna um valor booleano, a escrita específica método é o seguinte, se testFunc can Após aceitar os parâmetros, se não houver erro, o conteúdo de body1 e body2 será executado, caso contrário, o conteúdo de body3 será executado.

function testFunc(num)
    -- body1
end

if pcall(testFunc,2) then
    -- body2
else
    -- body3
end

(2) xpcall

Na versão avançada do pcall, o primeiro parâmetro também é o método que precisa ser executado e o segundo parâmetro é uma função de tratamento de erros. Você pode imprimir informações de pilha relacionadas ao erro nesta função e retornar as informações de erro, então os dois os valores de retorno de xpcall são respectivamente. É o status e as mensagens de erro.

function testFunc(num)
    error('error..')
end

function dealMsg(msg)
    print(msg)
    print(debug.traceback())
    return msg
end

local statue,mag = xpcall(testFunc,dealMsg)

3. Empurre


Github : https: //github.com/KingSun5


4. Conclusão


        Se você acha que o artigo do blogger está bem escrito, você pode querer prestar atenção nele e gostar da postagem do blog. Além disso, a capacidade do blogger é limitada. Se houver algum erro no artigo, comente e critique .

       Grupo de troca QQ: 806091680 (Chinar)

       Este grupo foi criado pelo blogueiro da CSDN Chinar, recomendo! Eu também estou no grupo!

Acho que você gosta

Origin blog.csdn.net/Mr_Sun88/article/details/104956760
Recomendado
Clasificación