dup n>win32-error-string windows-error
] if ;
-: throw-win32-error ( -- * )
- win32-error-string throw ;
-
: check-invalid-handle ( handle -- handle )
dup INVALID_HANDLE_VALUE = [ win32-error ] when ;
expected-io-errors member? ;
: expected-io-error ( error-code -- )
- dup expected-io-error? [
- drop
- ] [
- throw-win32-error
- ] if ;
+ expected-io-error? [ win32-error ] unless ;
: io-error ( return-value -- )
{ 0 f } member? [ GetLastError expected-io-error ] when ;