catchHandles the exception code raised by
tryortrypipe
catch is designed to be used in conjunction with
try and trypipe as it handles the exceptions
raised by the aforementioned.
[ try | trypipe ] { code-block } -> <stdout>
catch { code-block } -> <stdout>
!catch { code-block } -> <stdout>
try {
out "Hello, World!" -> grep: "non-existent string"
out "This command will be ignored"
}
catch {
out "An error was caught"
}
!catch {
out "No errors were raised"
}
catch can be used with a bang prefix to check for a lack
of errors.
catch forwards on the stdin and exit number of the
calling function.
catch!catchunsafe: Execute a block of code, always returning a
zero exit numberrunmode: Alter the scheduler’s behaviour at higher
scoping levelif:
Conditional statement to execute different blocks of code depending on
the result of the conditiontrypipe: Checks for non-zero exits of each function in
a pipelinetrypipeerr: Checks state of each function in a pipeline
and exits block on errortryerr: Handles errors inside a block of codeswitch: Blocks of cascading conditionalstry:
Handles non-zero exits inside a block of codeThis document was generated from builtins/core/structs/try_doc.yaml.
This site's content is rebuilt automatically from murex's source code after each merge to the master branch. Downloadable murex binaries are also built with the website.
Last built on Sun Jan 11 23:29:10 UTC 2026 against commit c710027c71002785e97a5d5fafbc0316e62c78a04812403.
Current version is 7.1.4143 (unknown) which has been verified against tests cases.