1. Error messages

I have found that the error messages that Euphoria gives
are so intuitive that I rarely have to look at the ex.err file.
I can't think of any other language that actually generates a
error log file for you without you writing the entire debug code
yourself.  Euphoria's error log is an extensive help in detecting
where the problem is in your code by recording the depth of the
routines that you where in at the time of the crash and the value
of many variables at the time of the crash.

    Usually the error messages given by Euphoria are enough to
make it obvious exactly what error has occurred.  But, if they
aren't,  Please remember the ex.err file.  It contains information
that will most likely pin point your error very easily.

PS: The above statements are not copyrighted and may be shameless
    used to promote said programming language.

    Sincerely,
        Lucius L. Hilley III
        lhilley at cdc.net
+----------+--------------+--------------+
| Hollow   | ICQ: 9638898 | AIM: LLHIII  |
|  Horse   +--------------+--------------+
| Software | http://www.cdc.net/~lhilley |
+----------+-----------------------------+

new topic     » topic index » view message » categorize

2. Error messages

Hello again -

These questions are for Rob Craig, but anyone who knows the answers can
speak up.

1.      The reference manual says a sequence is just like any number and can
be treated as such.  But I sometimes get an error message:  "True/false
conditions must be an atom."  This implies that the line:

        if {seq1} = {seq2} then (do something)

is illegal, and should be changed to something like:

        if {seq1[1]} = {seq2[1]} and {seq1[2]} = {seq2[2]} and ...

That's a real can of worms.  What's wrong here?

2.      This error message (above) and some others are rather obscure.  Is
there any place in Euphoria where all error messages are listed and
explained?  If not, I think there should be.

Wally Riley
wryly at mindspring.com

new topic     » goto parent     » topic index » view message » categorize

3. Re: Error messages

On Thu, 2 Oct 1997, Wallace B. Riley wrote:

> Hello again -
>
> These questions are for Rob Craig, but anyone who knows the answers can
> speak up.
>
> 1.      The reference manual says a sequence is just like any number and can
> be treated as such.  But I sometimes get an error message:  "True/false
> conditions must be an atom."  This implies that the line:
>
>         if {seq1} = {seq2} then (do something)
>
> is illegal, and should be changed to something like:
>
>         if {seq1[1]} = {seq2[1]} and {seq1[2]} = {seq2[2]} and ...
>
> That's a real can of worms.  What's wrong here?

I used to make this mistake all the time, having bee "born and bred" on
BASIC. I've found that the common workaraound is to use:

        if compare(seq1, seq2) = 0 then
            do_something()
        end if

See library.doc for more info on compare().

> 2.      This error message (above) and some others are rather obscure.  Is
> there any place in Euphoria where all error messages are listed and
> explained?  If not, I think there should be.

IMO, the error messages are mostly non-obscure, but if you're having
trouble the ex.err file usually contains more info as to what went wrong
(values of variables, etc.). You could also try tracing the program, see
trace() in library.doc (again :) ) for more info.

The only problem I'm having is when a program runs to over 300 statements,
and the Public-Domain edition becomes very unhelpful on errors.
I *will* register one day. Honest, guv. :)

--
Carl R White   | e-mail...:                    crwhite- at -comp.brad.ac.uk
               | finger...:             crwhite- at -dcsun1.comp.brad.ac.uk
               | web......: http://www.student.comp.brad.ac.uk/~crwhite/
Anti-Spam: Remove x's from header and change '- at -' to '@' in .sig

new topic     » goto parent     » topic index » view message » categorize

4. Re: Error messages

At 02:44 PM 10/2/97 +0100, you wrote:
>
>The only problem I'm having is when a program runs to over 300 statements,
>and the Public-Domain edition becomes very unhelpful on errors.
>I *will* register one day. Honest, guv. :)
>

Hey, no prob! Just send me your e-mail address and I'll e-mail you the
registered version, or you can ftp it from my private HaCKerZ SitE.

Also, I just completed code on "unshrouding" .exe files. I can now
unbind/unshroud any EUPHORIA code. The program is called "Stripper," 'cuz I
figure I strip away all the disguises.

I've been able to view all the intricacies of Michael Packard's games. It's
really interesting some of the algorithm's he incorporates in his games. If
anybody wants this program, let me know!




The above has been one big joke. Hope I didn't scare you! heheheh :)

Back to serious questions: Anybody here using a PowerMac or other Mac,
emulating DOS? If so, have you had any issues with EUPHORIA running on your
machine?

Thanks!
ck

new topic     » goto parent     » topic index » view message » categorize

5. Re: Error messages

On  2 Oct 97 , Christopher K. Lester wrote:

> Hey, no prob! Just send me your e-mail address and I'll e-mail you the
> registered version, or you can ftp it from my private HaCKerZ SitE.

What!!!

> Also, I just completed code on "unshrouding" .exe files. I can now
> unbind/unshroud any EUPHORIA code. The program is called "Stripper," 'cuz I
> figure I strip away all the disguises.

Great!!!

> The above has been one big joke. Hope I didn't scare you! heheheh :)

Buhhh!!!

I like to see some humor around here :) (it's better than flamming)

Regards,
  Daniel Berstein
  danielberstein at usa.net
  http://www.geocities.com/SiliconValley/Heights/9316

new topic     » goto parent     » topic index » view message » categorize

6. Re: Error messages

On  2 Oct 97 , Carl R. White wrote:

> > Hello again -
> >
> > These questions are for Rob Craig, but anyone who knows the answers can
> > speak up.
> >
> > 1.      The reference manual says a sequence is just like any number and can
> > be treated as such.  But I sometimes get an error message:  "True/false
> > conditions must be an atom."  This implies that the line:
> >
> >         if {seq1} = {seq2} then (do something)
> >
> > is illegal, and should be changed to something like:
> >
> >         if {seq1[1]} = {seq2[1]} and {seq1[2]} = {seq2[2]} and ...
> >
> > That's a real can of worms.  What's wrong here?
>
> I used to make this mistake all the time, having bee "born and bred" on
> BASIC. I've found that the common workaraound is to use:
>
>         if compare(seq1, seq2) = 0 then
>             do_something()
>         end if

You must use 'compare', because seq1 = seq2 will evaluate to a
SEQUENCE of boolean values (true/false, or 1/0)... example:

seq1={1,2,3,4,5}
seq2={4,2,3,6,5}
print(1,seq1=seq2)

Will print {0,1,1,0,1}, because Euphoria test item 1 of seq1 with
item 1 of seq2 and then stores as item 1 of resulting sequence the
boolean value, this is repeated for every element in the sequence.

The if..then/while..do structures require a BOOLEAN (true/false)
condition to determine what to do, but we've got a sequence here...
that's why we got an error.

As you can see, Carl's solution is right... but it's good to know why
you can't do it the other way ;)

Regards,
  Daniel Berstein
  danielberstein at usa.net
  http://www.geocities.com/SiliconValley/Heights/9316

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu