Перейти к содержимому
  • 0
Maodelian

Как получить ошибку чтоб не вылетал стандратныi обработчик

Вопрос

Например у меня есть вот такой код

local function specialError()
	local a = 0/0
  	return a
end
local function getError(msg)
	print(tostring(msg))
end

xpcall(specialError(),msg)

Когда выполняю скрипт. Уменя вызывается стандартыi обработчик ошибки от OpenOS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

Деление ноля на ноль не сгенерирует ошибку, это NaN. Но вообще - вот так

local specialError()
  -- b не существует
  local a = b + 10
end

local success, reason = xpcall(specialError, debug.traceback, аргументы...)
if not success then
  print("Ошибка", reason)
end

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...