Check

Check[expr,failexpr]

evaluates expr, and returns the result, unless messages were generated, in which case it evaluates and returns failexpr.

Check[expr,failexpr,{s1::t1,s2::t2,}]

checks only for the specified messages.

Check[expr,failexpr,"name"]

checks only for messages in the named message group.

Details

  • Check has attribute HoldAll.
  • Check does not test for messages that have been switched off using Off, or by uses of Quiet that occur inside it.
  • The operation of Check is not affected by being enclosed inside Quiet.
  • In Check[expr,failexpr,"name"], possible named message groups are given by $MessageGroups.
  • Explicit message names of the form s::t can be mixed with named message groups.

Examples

open allclose all

Basic Examples  (2)

Return err when any message is issued:

Check only for specific messages:

Scope  (3)

Check for a message from a specific function:

The ArcTan::indet is not caught by Check:

Use the head General to catch the message from any function:

Catch multiple messages:

Check for a message from a named group:

Applications  (1)

Use Check and Quiet to provide values for arguments where a function is not applicable:

This function simply returns its argument if its argument is a string of length less than four:

Without the Check and Quiet, the middle input would have returned unevaluated with a message:

Properties & Relations  (3)

Check does not prevent messages from being issued:

Check does not detect messages suppressed with a inner Quiet:

However, the operation of Check is not affected by being inside Quiet:

Check does not report messages that have been turned off:

Restore the message:

Possible Issues  (1)

A nested Check does not silence a message for an enclosing Check:

Use an intermediate Quiet to prevent the enclosing Check from reacting to the message:

Wolfram Research (1988), Check, Wolfram Language function, https://reference.wolfram.com/language/ref/Check.html (updated 2008).

Text

Wolfram Research (1988), Check, Wolfram Language function, https://reference.wolfram.com/language/ref/Check.html (updated 2008).

CMS

Wolfram Language. 1988. "Check." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2008. https://reference.wolfram.com/language/ref/Check.html.

APA

Wolfram Language. (1988). Check. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Check.html

BibTeX

@misc{reference.wolfram_2024_check, author="Wolfram Research", title="{Check}", year="2008", howpublished="\url{https://reference.wolfram.com/language/ref/Check.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_check, organization={Wolfram Research}, title={Check}, year={2008}, url={https://reference.wolfram.com/language/ref/Check.html}, note=[Accessed: 21-November-2024 ]}