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 >