Class
IOException
Description
Raised when an IO error occurs in classes that perform file or stream operations, including BinaryStream, FolderItem, PDFDocument, SerialConnection, SpecialFolder, TextInputStream, and TextOutputStream.
Properties
Name |
Type |
Read-Only |
Shared |
|---|---|---|---|
Methods
Name |
Parameters |
Returns |
Shared |
|---|---|---|---|
Property descriptions
IOException.ErrorNumber
ErrorNumber As Integer
Used to contain an error number that describes the runtime error.
IOException.Message
Message As String
Used to contain descriptive text to display when the runtime exception is encountered.
Method descriptions
IOException.Constructor
Constructor(message As String = "", errorNumber As Integer = 0)
Note
Constructors are special methods called when you create an object with the New keyword and pass in the parameters above.
Used to raise your own RuntimeException with a message and optional error number.
IOException.Stack
Stack As String()
Returns a String array that contains a list of all of the methods in the stack from the main entrypoint to the point at which the exception was invoked.
The stack contains all the method names up and including the current method name.
This feature only works if the IncludeFunctionNames property on the App object is selected in the Shared Build Settings.
In addition to your own method calls, you will also see framework method calls, but these may not always be completely accurate due to insufficient symbols for the OS to resolve.
IOException.StackFrames
StackFrames As StackFrame()
Returns an array containing the stack when the exception was first raised.
Notes
An IOException can be raised by any class that performs file or stream operations. This includes BinaryStream, FolderItem, PDFDocument, SerialConnection, SpecialFolder, TextInputStream, and TextOutputStream. Always wrap IO operations in a Try/Catch block to handle these errors gracefully.
Error codes
The ErrorNumber property of an IOException may be set to an OS error code.
macOS
The OS Status web site can help track down error code meanings.
In addition, you can use the macerror command in Terminal to find a description of an error.
For example:
macerror -49 displays: Mac OS error -49 (opWrErr): file already open with write permission
Windows
Windows error codes are available at MSDN.
Linux
Error Codes for Linux can be found here.
Sample code
The following example catches an IOException if it occurs.
Var f As FolderItem = FolderItem.ShowSaveFileDialog(FileTypes1.Text, "Create Example.txt")
If f <> Nil Then
Var t As TextOutputStream = TextOutputStream.Create(f) ' this line could raise an IOException.
t.WriteLine(TextField1.Text)
t.Close
End If
Exception err As IOException
MessageBox("An error occurred while attempting to create/save the file.")
Compatibility
Project Types |
All |
Operating Systems |
All |
See also
RuntimeException parent class; BinaryStream, TextInputStream, TextOutputStream classes.