std/oserrors
Source EditThe std/oserrors module implements OS error reporting.
Imports
- winlean
Types
Procs
proc newOSError(errorCode: OSErrorCode; additionalInfo = ""): owned(ref OSError) {. noinline, ...raises: [], tags: [], forbids: [].}-
Creates a new OSError exception.
The
errorCodewill determine the message, osErrorMsg функция будет использована для получения этого сообщения.Код ошибки можно получить с помощью функции osLastError.
Если код ошибки равен
0или сообщение об ошибке получить не удалось, будет использовано сообщениеunknown OS error.См. также:
Source Edit proc osErrorMsg(errorCode: OSErrorCode): string {....raises: [], tags: [], forbids: [].}-
Преобразует код ошибки ОС в читаемое человеком строковое значение.
Код ошибки можно получить с помощью функции osLastError.
Если преобразование завершилось неудачно или
errorCodeравен0, то вернётся значение"".См. также:
Пример:
when defined(linux): assert osErrorMsg(OSErrorCode(0)) == "" assert osErrorMsg(OSErrorCode(1)) == "Operation not permitted" assert osErrorMsg(OSErrorCode(2)) == "No such file or directory"
Source Edit proc osLastError(): OSErrorCode {.sideEffect, ...raises: [], tags: [], forbids: [].}-
Возвращает последний код ошибки операционной системы.
Эта процедура полезна в случае, если вызов ОС завершился неудачно. В этом случае эта процедура вернёт код ошибки, описывающий причину неудачи вызова ОС. Затем можно использовать процедуру
OSErrorMsg, чтобы преобразовать этот код в строку.Предупреждение: Поведение этой процедуры различается между Windows и POSIX-системами. В Windows некоторые вызовы ОС могут сбросить код ошибки до0, что приведет к возврату значения0этой процедурой. Поэтому рекомендуется вызывать эту процедуру сразу после того, как вызов ОС завершился неудачно. В POSIX-системах это не проблема.См. также:
Source Edit proc raiseOSError(errorCode: OSErrorCode; additionalInfo = "") {.noinline, ...raises: [OSError], tags: [], forbids: [].}-
Вызывает исключение OSError.
Прочитайте описание функции newOSError, чтобы узнать, как создаётся объект исключения.
Source Edit
© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/oserrors.html