Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.5.2 - English

Change language to:
Français - 日本語 - Português - Русский

Please note that the recommended version of Scilab is 2024.0.0. This page might be outdated.
However, this page did not exist in the previous stable version.

Scilab Help >> Scilab > Error handling > errcatch

errcatch

error trapping

Calling Sequence

errcatch(n [,'action'] [,'option'])
errcatch()

Arguments

n

integer

action, option

strings

Description

errcatch gives an "action" (error-handler) to be performed when an error of type n occurs.

n has the following meanings:

if n>0, n is the error number to trap;

if n<0 all errors are to be trapped.

action is one of the following character strings:

"pause"

a pause is executed when trapping the error. This option is useful for debugging purposes. Use whereami() to get information on the current context.

"continue"

next instruction in the function or exec files is executed, current instruction is ignored. It is possible to check if an error has occurred using the iserror function. Do not forget to clear the error using the errclear function as soon as possible. This option is useful for error recovery. In many cases, usage of errcatch(n,"continue",..) can be replaced by the use of execstr function or try control structure.

"kill"

default mode, all intermediate functions are killed, Scilab goes back to the level 0 prompt.

"stop"

interrupts the current Scilab session (useful when Scilab is called from an external program).

option is the character string 'nomessage' for killing error message.

To set back default mode, enter errcatch(-1,"kill") or similarly errcatch(-1). errcatch() is an obsolete equivalent of errcatch(-1).

The errcatch actions apply to the current evaluation context (function, exec, pause) and all the sub-levels. A second errcatch call in a sub-level hides the initial one for this sub-level. If a second errcatch call is made at the same level, the effect of the first one is removed.

When called in the context of a Scilab function or exec the errcatch is automatically reset when the function returns.

Examples

errcatch(144,"continue")
2/"foo"
disp(a) // Without the errcatch, this line would not be executed

errcatch(-1,"kill") // Come back in the normal mode
errcatch(144,"pause")
2/"foo" // Enter in "pause" mode

errcatch(27,'continue','nomessage')
b=2/0 // No error message but b will not exist

See Also

  • try — beginning of try block in try-catch control instruction
  • errclear — error clearing
  • iserror — error occurrence test
  • whereami — display current instruction calling tree
  • execstr — execute Scilab code in strings
  • exec — script file execution
  • pause — pause mode, invoke keyboard
Report an issue
<< Error handling Error handling errclear >>

Copyright (c) 2022-2023 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Apr 01 10:13:49 CEST 2015