windows.errors: streamline error handling and throwing
parent
3733b13daf
commit
049356574a
|
@ -1 +1,2 @@
|
||||||
Doug Coleman
|
Doug Coleman
|
||||||
|
Alexander Ilin
|
||||||
|
|
|
@ -719,23 +719,18 @@ CONSTANT: FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF
|
||||||
|
|
||||||
ERROR: windows-error n string ;
|
ERROR: windows-error n string ;
|
||||||
|
|
||||||
: (win32-error) ( n -- )
|
: throw-windows-error ( n -- * )
|
||||||
[ dup win32-error-string windows-error ] unless-zero ;
|
dup n>win32-error-string windows-error ;
|
||||||
|
|
||||||
: win32-error ( -- )
|
: n>win32-error-check ( n -- )
|
||||||
GetLastError (win32-error) ;
|
[ throw-windows-error ] unless-zero ;
|
||||||
|
|
||||||
|
! Note that win32-error* words throw GetLastError code.
|
||||||
|
: win32-error ( -- ) GetLastError n>win32-error-check ;
|
||||||
: win32-error=0/f ( n -- ) { 0 f } member? [ win32-error ] when ;
|
: win32-error=0/f ( n -- ) { 0 f } member? [ win32-error ] when ;
|
||||||
: win32-error>0 ( n -- ) 0 > [ win32-error ] when ;
|
: win32-error>0 ( n -- ) 0 > [ win32-error ] when ;
|
||||||
: win32-error<0 ( n -- ) 0 < [ win32-error ] when ;
|
: win32-error<0 ( n -- ) 0 < [ win32-error ] when ;
|
||||||
: win32-error<>0 ( n -- ) zero? [ win32-error ] unless ;
|
: win32-error<>0 ( n -- ) [ win32-error ] unless-zero ;
|
||||||
|
|
||||||
: n>win32-error-check ( n -- )
|
|
||||||
dup ERROR_SUCCESS = [
|
|
||||||
drop
|
|
||||||
] [
|
|
||||||
dup n>win32-error-string windows-error
|
|
||||||
] if ;
|
|
||||||
|
|
||||||
: check-invalid-handle ( handle -- handle )
|
: check-invalid-handle ( handle -- handle )
|
||||||
dup INVALID_HANDLE_VALUE = [ win32-error ] when ;
|
dup INVALID_HANDLE_VALUE = [ win32-error ] when ;
|
||||||
|
|
Loading…
Reference in New Issue