Evgen Опубликовано 22 сентября Поделиться Опубликовано 22 сентября Приветствую! В последнее время пишу много кода на lua, но иногда пишу с ошибками. Подскажите как делать функции, которые не прекращают выполнение программы? В последний раз встретил ошибку, которая связана с конкатенацией строки и nil. Хотелось бы писать безопасный код. function printer(...) printResult = "" for i, v in ipairs(arg) do printResult = printResult .. v .. "\t" end print(printResult) end printer("a", "b", {}) Этот код вызвал ошибку <string>:4: cannot perform concat operation between table and string stack traceback: <string>:4: in function 'printer' <string>:8: in main chunk [G]: ? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Noise PC Опубликовано 23 сентября Поделиться Опубликовано 23 сентября Можно использовать pcall, если есть функционал, который вызывает сомнения. Пример по вашему коду: function printer(...) printResult = "" for i, v in ipairs(arg) do printResult = printResult .. v .. "\t" end print(printResult) end printer("a", "b", {}) local status, err = pcall(printer, "a", "b", {}) if not status then print("Ошибка: " .. err) end Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.