EOS exception now contains the error code.
This commit is contained in:
parent
2ce07042fd
commit
15919b7c98
2 changed files with 7 additions and 5 deletions
|
|
@ -260,11 +260,12 @@ proc osError*(errorCode: TOSErrorCode) =
|
||||||
##
|
##
|
||||||
## If the error code is ``0`` or an error message could not be retrieved,
|
## If the error code is ``0`` or an error message could not be retrieved,
|
||||||
## the message ``unknown OS error`` will be used.
|
## the message ``unknown OS error`` will be used.
|
||||||
let msg = osErrorMsg(errorCode)
|
var e: ref EOS; new(e)
|
||||||
if msg == "":
|
e.errorCode = errorCode.int32
|
||||||
raise newException(EOS, "unknown OS error")
|
e.msg = osErrorMsg(errorCode)
|
||||||
else:
|
if e.msg == "":
|
||||||
raise newException(EOS, msg)
|
e.msg = "unknown OS error"
|
||||||
|
raise e
|
||||||
|
|
||||||
{.push stackTrace:off.}
|
{.push stackTrace:off.}
|
||||||
proc osLastError*(): TOSErrorCode =
|
proc osLastError*(): TOSErrorCode =
|
||||||
|
|
|
||||||
|
|
@ -260,6 +260,7 @@ type
|
||||||
## system raises.
|
## system raises.
|
||||||
EIO* = object of ESystem ## raised if an IO error occured.
|
EIO* = object of ESystem ## raised if an IO error occured.
|
||||||
EOS* = object of ESystem ## raised if an operating system service failed.
|
EOS* = object of ESystem ## raised if an operating system service failed.
|
||||||
|
errorCode*: int32 ## OS-defined error code describing this error.
|
||||||
EInvalidLibrary* = object of EOS ## raised if a dynamic library
|
EInvalidLibrary* = object of EOS ## raised if a dynamic library
|
||||||
## could not be loaded.
|
## could not be loaded.
|
||||||
EResourceExhausted* = object of ESystem ## raised if a resource request
|
EResourceExhausted* = object of ESystem ## raised if a resource request
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue