loadfile
, как и load
/ loadstring
, возвращает nil
плюс сообщение об ошибке при синтаксических ошибках:
Источник : если естьнет синтаксических ошибок, возвращает скомпилированный кусок как функцию;в противном случае возвращает nil плюс сообщение об ошибке.
local success, syntaxError = loadfile("myfile.lua")
if not success then
print("There was a syntax error:", syntaxError)
else
print("No syntax error")
end
A pcall
не требуется, поскольку loadstring
не выдает ошибки.