Class

IOException


Description

Raised when an IO error occurs using BinaryStream, TextOutputStream, or TextInputStream.

Properties

Name

Type

Read-Only

Shared

ErrorNumber

Integer

Message

String

Methods

Name

Parameters

Returns

Shared

Constructor

message As String = "", errorCode As Integer = 0

Stack

String()

StackFrames

StackFrame()

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 = "", errorCode 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 code.


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

The IOException represents errors that can occur while using the shared methods for opening and creating streams: BinaryStream, BinaryStream, TextOutputStream, TextOutputStream, and TextInputStream. If you are using older APIs, you need to check the IOException property.


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

All project types on all supported operating systems.