Check[expr, failexpr] evaluates expr, and returns the result, unless messages were generated, in which case it evaluates and returns failexpr.
Check[expr, failexpr, ::, ::, ... ] checks only for the specified messages.
Check has attribute HoldAll.
Check tests only for messages that are actually output. It does not test for messages that have been suppressed using Off.
See The Mathematica Book: Section 2.8.21.
See also: MessageList, $MessageList, Message, Indeterminate, TimeConstrained, CheckAbort.