Instances of OS.File.Error are used by OS.File to notify of file-related errors.
Using OS.File.Error
Example: Finding out whether the problem is due to a file that does not exist
try { let file = OS.File.open("myfile.txt"); // ... } catch (ex) { if (ex instanceof OS.File.Error && ex.becauseNoSuchFile) { // The file does not exist } }
Global object OS.File.Error
Methods overview
The following functions are utility functions that may be used to construct instances of OS.File.Error, setting the platform-specific error number.
Error closed() |
Error exists() |
Methods
OS.File.Error.closed()
Return an error representing the fact that a file is closed.
OS.File.Error.exists()
Return an error representing the fact that a file exists.
Instances of OS.File.Error
In case of any I/O error, the functions of OS.File
raise instances of OS.File.Error
. These exceptions hold both a human-readable error message detailing the I/O error and attributes to help determining the cause of the error.
Cross-platform attributes
operation | The human-readable name of the failed operation. |
becauseExists | true if the operation failed because a file or directory exists, false otherwise. |
becauseNoSuchFile | true if the operation failed because a file or directory does not exist, false otherwise. |
becauseClosed | true if the operation failed because a file or directory is closed, false otherwise. |
Platform-specific attributes
unixErrno | (defined under Unix only) The system error number (errno ) for the error. For more details, you may compare it with the error constants of OS.Constants.libc.E* . |
winLastError | (defined under Windows only) The system error number (GetLastError ) for the error. For more details, you may compare it with the error constants of OS.Constants.Win.ERROR_* . |