Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2000
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2000

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Detecting and handling error messages?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg24346] Re: Detecting and handling error messages?
  • From: "Dale Horton" <daleh at wolfram.com>
  • Date: Sun, 9 Jul 2000 04:52:51 -0400 (EDT)
  • Organization: Wolfram Research, Inc.
  • References: <8jrbto$dqe@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

The tricky part of using Check is that it doesn't check for messages that
are turned off.
So the question becomes, how do I leave a message on but prevent it from
getting printed.

Fortunately, there's a global variable that controls where these messages
are sent.

In[1]:=
?$Messages
"$Messages gives the list of files and pipes to which message output is
sent."

In[2]:=
$Messages
Out[2]=
{OutputStream["stdout", 1]}

We can use a Block to temporarily suspend the output of all messages.

In[3]:=
Block[{$Messages = {}},
  Check[Sin[1, 2], Print["Try again!"]]
  ]
"Try again!"

-Dale

"AES" <siegman at stanford.edu> wrote in message
news:8jrbto$dqe at smc.vnet.net...
> What I'm really after is a simple way of detecting (testing) if errors
> have occurred during the execution of a given Input cell, so I can note
> this and maybe do something, but without actually having the error
> messages be printed to the screen.
>
> I note that The Mathematica Book on p. 1155 says
>
>    Off[symbol::tag] switches off a message, SO THAT IT IS NO
>    LONGER PRINTED   (emphasis mine)
>
> Page 460 says
>
>    $MessageList    a list of the messages PRODUCED during
>    a particular computation
>
> Note:  "produced", not "printed" -- ??
>
> Page 1249 says
>
>    $MessageList is a global variable that gives a list of the
>    names of messages GENERATED during the evaluation of
>    the current input line
>
> "Generated" ?=? "produced" ?=? "printed".
>
> Anyway, as best I can tell by trial and error, messages that have been
> Off[ ]'ed do not appear in $MessageList, and Check[ ] explicitly doesn't
> test for Off[ ]'ed messages.  So is there a way to test if the
> associated errors have or have not occurred?
>
> Thanks   siegman at stanford.edu
>



  • Prev by Date: Re: With[{software=Mathematica}, Frustration]
  • Next by Date: RE: Do loop var in deferred assignment
  • Previous by thread: Re: Detecting and handling error messages?
  • Next by thread: Pattern Matching