(Lua) Есть ли способ выполнить код и запустить функцию в случае ошибки?

#lua

#lua

Вопрос:

Я пытаюсь выполнить функцию, если при выполнении другого блока кода возникает ошибка

Вот что я имею в виду:

В Javascript есть функция с именем try and catch , в которую вы помещаете код, try и catch которая выполняется при возникновении ошибки

Вот оно в действии:

 try {
  throw("Error")
} catch (error) {
  console.log("there was an error: "   error)
}
  

Итак, как бы мне сделать это в Lua?

Ответ №1:

в Lua вам нужно создать функцию, а затем использовать вызываемую функцию pcall() , которая проанализирует, вернет ли она ошибку в любой момент функции. Это Lua Try-Catch

пример:

 function test()
     print("Hello World")
end

if not pcall(test) then -- if there is an error within the function then .....
       print("ERROR")
else
      print("no errors")
end