MathGroup Archive 2009

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

Search the Archive

Re: Re: Limiting the number of messages

  • To: mathgroup at smc.vnet.net
  • Subject: [mg103967] Re: [mg103937] Re: Limiting the number of messages
  • From: DrMajorBob <btreat1 at austin.rr.com>
  • Date: Wed, 14 Oct 2009 07:54:48 -0400 (EDT)
  • References: <hahsi2$jm$1@smc.vnet.net> <200910131120.HAA29409@smc.vnet.net>
  • Reply-to: drmajorbob at yahoo.com

I'd be satisfied if they'd just get keyboard or menu-driven abort to  
simply ABORT reliably.

It's ridiculous, the number of times I've had to force-quit Mathematica...  
sometimes because I have a bug, but more often because the computation is  
simply too slow to let it continue.

Bobby

On Tue, 13 Oct 2009 06:20:30 -0500, David Bailey  
<dave at removedbailey.co.uk> wrote:

> Sean McConnell wrote:
>> Hi,
>>
>> I'm creating a program with procedures that often depend on
>> sub-procedures. Many times I allow the sub-procedures to do the input
>> checking, so I don't have to write a the same error trapping conditions
>> and messages for each level of the program. The problem is however that
>> although the 'input checking' is passed on to a sub-procedure, the main
>> procedure continues to attempt to evaluate, and can usually return a
>> very long list of error messages whilst it foolishly attempting to
>> evaluate with improperly input variables.
>>
>> I would like to know how to make a procedure abort its evaluation after
>> say 3 or so messages, and simply return the name of the procedure and
>> the variables (as happens when you use /; for conditionals). I have
>> tried the use of Check[], and although it checks for messages, it will
>> only return what is typed in to the space for a second argument (eg:
>> Check[f[a], "problem"] will return simply "problem"), I would like to be
>> able to tell the user how they have screwed up.
>>
>> Many thanks,
>>
>> Sean McConnell.
>>
>>
> Really, you need to be able to stop processing (after generating an
> error message or something) and come out to a much higher level of your
> program. The Throw and Catch functions should enable you to do this. If
> you simply need to stop executing altogether after issuing an error
> message, Abort[] is useful.
>
> Note however that Abort[] will not stop the execution of subsequent
> cells if a whole notebook evaluation initiated the process.
>
> David Bailey
> http://www.dbaileyconsultancy.co.uk
>


-- 
DrMajorBob at yahoo.com


  • Prev by Date: Re: Re: Re: The graph of (x + 2)^(1/5) + 4 not
  • Next by Date: Re: extracting network cellular automata from manipulate
  • Previous by thread: Re: Limiting the number of messages
  • Next by thread: Graphics3D Problem