[REBOL] Re: How safe is catch []
From: volker:nitsch:gmai:l at: 25-Apr-2005 12:33
Just curious: can you throw something? not
if .. [thow]
but
if .. [throw 'dummy]
maybe there is the bug in 'throw.
On 4/25/05, Anton Reisacher <[sqlab--gmx--net]> wrote:
> How safe is catch?
>
> I have some rebol applications serving message communication (around 1000 to
> 2000 messages per day mostly) running for more than half a year on
> Windows2000 Server without interruption since the last update of the OS for
> security reasons.
>
> Recently I had to add some message splitting:
> one-message --> [message-part-1 message-part-2 message-part-3]
>
> I used a construct similar to this
>
> forever [
> until [new-messages-available]
> foreach message new-messages [
> catch [
> if not important [throw]
> do-some-heavy-message-processing-and data-completion-using-odbc
> if some-tests [throw]
> message-parts: split-messages message
> until [
> catch [
> message: first message-parts
> do-more-conversions
> if other-tests [throw]
> deliver message
> emtpy? message-parts: next message-parts
> ]
> ]
> ]
> ]
> ]
>
> Now I saw two crashes in one day.
> I was somehow able to reproduce the crash
> "Invalid data type during recycle"
> by playing again the history of one to two weeks. But the crash happened
> always processing another message.
>
> As I had seen in the past instable behaviour with constructs like this
> foreach ... [
> catch [
> ..
> data: any [
> a
> b
> throw
> ]
> ..
> ..
> ]
> ]
>
> I replaced the inner catch with statements like this
> if not other-tests [
> deliver message
> ]
> and the crash went away.
>
> Now I am curious if someone else encountered the same behaviour too?
>
> --
> +++ GMX - Die erste Adresse f=FCr Mail, Message, More +++
>
> 1 GB Mailbox bereits in GMX FreeMail http://www.gmx.net/de/go/mail
> --
> To unsubscribe from the list, just send an email to
> lists at rebol.com with unsubscribe as the subject.
>
--
-Volker
Any problem in computer science can be solved with another layer of
indirection. But that usually will create another problem.
David
Wheeler