Перейти к содержимому
  • 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

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


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

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

  • 0

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

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

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

 

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


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

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

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

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

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

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

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

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

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


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