В настоящее время я использую lua из консольного приложения, означает всякий раз, когда в сценарии возникает ошибка, и вызывается lua_error()
, соответствующий текст печатается.Вывести вывод lua_error()?
Теперь мне нужно переместить эту штуку в графическое приложение, которое работает без консоли в фоновом режиме. Текст ошибки, который появляется, должен быть отправлен в основное приложение, чтобы он мог делать все, что ему нужно. В качестве второго пункта все приложение НЕ должно быть остановлено (как это было для консольного приложения).
Итак, мой вопрос: есть ли возможность улавливать сообщения об ошибках, указанные в lua_error()
, в какой-то момент кода для дальнейшей обработки и для предотвращения остановки приложения?
Другой (и, я думаю, более простой) способ - проверить возвращаемое значение 'lua_pcall'. Если он отличается от 0, сообщение об ошибке находится прямо в стеке, вам просто нужно получить его с помощью строки lua_to (l). –