Prev: Large Floating Point Numbers
Next: paypal wholesale all brand(UGGBOOTS,SHOES,CLOTHES,HANDBAG,WATCH,JEANS,JERSEY,T-SHIRT,SHIRTS,HOODY,EYEGLASS,CAP,SHAWL,WALLT) and so on.
From: Dave Hayden on 6 Feb 2010 09:45
On Feb 5, 5:03 pm, "hughseri...(a)googlemail.com"
> I've been having a look at this library. it's really handy for
> interfacing Saturn objects to C and back. do you know how i might
> raise C errors as saturn errors. for example, divide by zero, or some
> other math error.
Thanks for using it Hugh. I had a bad feeling that it was just going
to gather dust. :)
An alternative to Tim's excellent suggestion is to have your program
return 1 and a string (on levels 1 and 2) if there is an error, or 0
and whatever else it might return on levels 1-N on success. Then call
it in a user RPL wrapper: IF myProg THEN DOERR END. That way if the C
code returns 0 then you get an error beep and a text box with the
string. Otherwise the IF/THEN pops the "0" and you're left with the
"real" return values.
> i might have a go at the matrix & list bits next.
There's a bug in the LISTencodeN() and it's cousins like
SYMBencodeN(). I can send you the repaired source file or a patched
library if you like.
> -- hugh.
From: TW on 6 Feb 2010 15:00
> An alternative to Tim's excellent suggestion is to have your program
> return 1 and a string (on levels 1 and 2) if there is an error, or 0
> and whatever else it might return on levels 1-N on success.
That works, but the benefit of using the built in system is that your
library can have error messages in a message table and they will be
displayed correctly by all of the correct error handling systems. I
generally return a sysRPL true or false, and then run the error system
if it is false.