Stderr Checking In TTY: tryerr
About 1 minBuiltin CommandsError Handling
tryerr
Stderr Checking In TTY: Handles errors inside a block of code
Description
tryerr
forces a different execution behavior where a failed process at the end of a pipeline will cause the block to terminate regardless of any functions that might follow.
It's usage is similar to try blocks in other languages (eg Java) but a closer functional example would be set -e
in Bash.
To maintain concurrency within the pipeline, tryerr
will only check the last function in any given pipeline (ie series of functions joined via |
, ->
, or similar operators). If you need the entire pipeline checked then use trypipe
.
Usage
tryerr { code-block } -> <stdout>
<stdin> -> tryerr { -> code-block } -> <stdout>
Examples
tryerr {
out "Hello, World!" -> grep: "non-existent string"
out "This command will be ignored"
}
Detail
A failure is determined by:
- Any process that returns a non-zero exit number
- Any process that returns more output via stderr than it does via stdout
You can see which run mode your functions are executing under via the fid-list
command.
See Also
- Caught Error Block:
catch
: Handles the exception code raised bytry
ortrypipe
- Disable Error Handling In Block:
unsafe
: Execute a block of code, always returning a zero exit number - Display Running Functions:
fid-list
: Lists all running functions within the current Murex session - Function / Module Defaults:
runmode
: Alter the scheduler's behaviour at higher scoping level - If Conditional:
if
: Conditional statement to execute different blocks of code depending on the result of the condition - Pipe Fail:
trypipe
: Checks for non-zero exits of each function in a pipeline - Schedulers: Overview of the different schedulers (or 'run modes') in Murex
- Stderr Checking In Pipes:
trypipeerr
: Checks state of each function in a pipeline and exits block on error - Switch Conditional:
switch
: Blocks of cascading conditionals - Try Block:
try
: Handles non-zero exits inside a block of code
This document was generated from builtins/core/structs/tryerr_doc.yaml.