Re: Abort computation on any message
- To: mathgroup at smc.vnet.net
- Subject: [mg124937] Re: Abort computation on any message
- From: David Bailey <dave at removedbailey.co.uk>
- Date: Mon, 13 Feb 2012 03:39:30 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jh2ti3$tc$1@smc.vnet.net> <jh82hg$oen$1@smc.vnet.net>
On 12/02/2012 09:59, David Bailey wrote:
> Unprotect[Message];
> pass = False;
> Message[mes_MessageName, args___] :=
> Block[{pass = True}, Message[mes, args];
> Abort[]] /; (Head[mes] === MessageName&& ! pass);
> Protect[Message];
I discovered after posting this that this version will abort inside
Quiet - here is a better version:
Unprotect[Message];
pass = False;
Message[mes_MessageName, args___] :=
Block[{pass = True}, Message[mes, args];
Abort[]] /; (Head[mes] === MessageName && ! pass);
Protect[Message];
Unprotect[Quiet];
Quiet[x___]:=Block[{pass=True},Quiet[x]]/;(!pass);
Protect[Quiet];
David Bailey
http://www.dbaileyconsultancy.co.uk