Tarantool CE/EE Documentation portal logo
Помощь
Обновлена 15 сентября 2026 г. в 08:55

Модуль errno

Общие сведения

Модуль errno, как правило, используется внутри функции или в рамках Lua-программы совместно с модулем, функции которого могут возвращать ошибки ОС, например fio.

Указатель

Ниже приведен перечень всех функций модуля errno.

Имя

Назначение

errno()

Получение номера ошибки для последней функции, связанной с операционной системой

errno.strerror()

Получение сообщения об ошибке для соответствующего номера ошибки

errno()

Возврат номера ошибки для последней функции, связанной с операционной системой, или 0. Чтобы вызвать функцию, просто введите команду errno() без названия модуля.

Тип возвращаемого значения

integer

errno.strerror([code])

Возврат строки в ответ на номер ошибки. Строка будет содержать текст традиционного сообщения об ошибке для текущей операционной системы. Если не указан код code, то будет выведено сообщение об ошибке для последней функции, связанной с операционной системой, или 0.

Параметры:

  • code (integer) — номер ошибки операционной системы

Тип возвращаемого значения

string

Пример:

Данная функция отображает результат вызова fio.open(), который вызывает ошибку 2 (errno.ENOENT). В результат включен номер ошибки, связанная с ним строка сообщения об ошибке и название ошибки.

tarantool> function f()         >   local fio = require('fio')         >   local errno = require('errno')         >   fio.open('no_such_file')         >   print('errno() = ' .. errno())         >   print('errno.strerror() = ' .. errno.strerror())         >   local t = getmetatable(errno).__index         >   for k, v in pairs(t) do         >     if v == errno() then         >       print('errno() constant = ' .. k)         >     end         >   end         > end---...tarantool> f()errno() = 2errno.strerror() = No such file or directoryerrno() constant = ENOENT---...

Чтобы увидеть все возможные названия ошибок, которые хранятся в метатаблице errno, введите команду getmetatable(errno) (выводятся сокращенно):

tarantool> getmetatable(errno)---- __newindex: 'function: 0x41666a38'  __call: 'function: 0x41666890'  __index:  ENOLINK: 67  EMSGSIZE: 90  EOVERFLOW: 75  ENOTCONN: 107  EFAULT: 14  EOPNOTSUPP: 95  EEXIST: 17  ENOSR: 63  ENOTSOCK: 88  EDESTADDRREQ: 89  <...>...