MathGroup Archive 2002

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

Search the Archive

Re: How to use error message return values

  • To: mathgroup at smc.vnet.net
  • Subject: [mg37758] Re: How to use error message return values
  • From: daiyanh at earthlink.net (Daitaro Hagihara)
  • Date: Mon, 11 Nov 2002 05:10:32 -0500 (EST)
  • References: <aqld31$bhn$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

In article <aqld31$bhn$1 at smc.vnet.net>, Andrzej Kozlowski 
<andrzej at tuins.ac.jp> wrote:

>One possibility:
>
>inv[M_, p_] := Block[{$Messages = {}}, Check[Inverse[M, Modulus -> p], 
>"Your
>     matrix has no inverse modulo " <> ToString[p] <> ". Use another 
>one."]]

Hmmm...This Check function does not "halt" the computation...

In[]:=
Check[
  Inverse[{{5, 5}, {5, 5}}, Modulus -> 26];
  Print[123],
  $Failed]

-->

Inverse::modp: 
   Value of option Modulus -> 26 should be a prime number.

123

Out[]=
$Failed


Some more test:

Unprotect[Message];
Message[Inverse::modp,__]:=Throw[$Failed];
Protect[Message];

Catch[
  Inverse[{{5, 5}, {5, 5}}, Modulus -> 26];
  123
]
--> 123


So Throw doesn't work either.


Likewise for Return as well.


DH


  • Prev by Date: Re: help with simple data transform
  • Next by Date: Re: Help with making Menger Sponge in version 3 and 4...
  • Previous by thread: Re: How to use error message return values
  • Next by thread: RE: Re: How to use error message return values