Catch
From Xojo Documentation
Used to handle RuntimeException errors in a Try statement.
Usage
Catch [[ErrorParameter] [As ErrorType]]
Part | Description |
---|---|
ErrorParameter | Optional, used to determine the type of runtime exception. |
ErrorType | Used to 'catch' a particular type of runtime error.
Optional, if used, it must be used with ErrorParameter. If used, the Catch statement will handle only that type of runtime error. |
Notes
The Try statement is similar to the Exception statement. Exceptions that occur within the Try block are caught by the Catch statement. It has the same syntax as the Exception statement. See the RuntimeException statement or the Runtime Errors theme for descriptions of each type of runtime error.
Unlike the Exception statement, Try statements can be nested. If a Try statement does not handle an exception or re-raises it, it can be handled by the next outermost Try statement, or by the Exception statement itself if there are no containing Try statements.
Local variables that are declared inside a Catch statement exist only within the Catch statement's scope rather than inside the whole method's scope. This means that multiple Catch statements at the same level can use the same exception variable name.
A Try block can contain its own Finally statement. The code in the Finally statement will execute regardless of whether or not an exception was raised within the Try block.
Sample Code
This example uses the Catch statement to handle an out of range key that is passed to a Dictionary.
Var a(5) As Integer
a(6) = 45 ' Raises an OutOfBoundsException
Catch e As OutOfBoundsException
// The above exception is caught here for you to handle
ErrorLabel.Value = "Exceeded size of array"
End Try
You can also catch multiple exceptions:
Var f As New FolderItem("test.txt")
ListBox1.CellValueAt(10, 10) = "Hello"
Catch noe As NilObjectException
// code
Catch oobe As OutOfBoundsException
// code
End Try
See Also
Exception, Try statements; Finally, Function, Sub statements; RuntimeException error.