<< Click to Display Table of Contents >> Navigation: Multi-Protocol MasterOPC Server > Руководство по языку Lua 5.1 > Язык и синтаксис > Обработка ошибок > Обработка и перехват ошибок |
В случае возникновения ошибок в скрипте в режиме исполнения, происходит вывод текста ошибки в лог "Сообщения скриптов", при этом дальнейшее исполнение скрипта останавливается.
Если определенный код вашего скрипта можно возвращать ошибку (например время из устройства может быть считано некорректно, что приведет к ошибке при преобразовании), то можно разместить такой в отдельной функции и вызывать в защищенном режиме с помощью функции pcall .
Пример.
function StrToTime(str) --преобразование строки во время
local str2=string.gsub (str, "%.", "-") --заменяем точку на дефис для соответствия формату
local timeval=time.StringToTimeStamp(str2..".000"); --преобразуем в TimeStamp
return timeval;
end;
function OnRead ()
NoErr,timeval=pcall(StrToTime,str1); --вызов функции преобразования в безопасном режиме
if NoErr==true then
--ошибки нет
else
--ошибка при выполнении
end
end