Try/Catch

TRY/CATCH is used to trap errors allowing a program to recover without having to be restarted.

TRY

The TRY statement introduces a TRY/CATCH block.

CATCH [var | expr]

The CATCH statement is used to CATCH an run-time error. This is typically used with errors raised when calling a file system command that cannot be completed, for example attempting to open a non-existent file.

The CATCH statement has two modes. You can supply a variable argument to store the error string. Alternatively you can supply an expression. When the raised error matches the (String) expression, the error will be caught.

When using the expression mode, you can supply a succession of CATCH statements to handle various error messages separately.

END TRY

The END TRY statement marks the end of a TRY/CATCH block.

THROW

The THROW command (previously known as RTE) is used to initiate a catch-able error. If there is no surrounding TRY/CATCH block, THROW can be used to abort the program.

Example

try
 open "com2000:" AS #1
catch err
  ? "in catch: open failed";err
end try

Try/Catch in other languages

History

The TRY/CATCH mechanism was introduced in version 0.11.15.