[REBOL] How safe is catch []
From: sqlab:gmx at: 25-Apr-2005 10:36
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ür Mail, Message, More +++
1 GB Mailbox bereits in GMX FreeMail http://www.gmx.net/de/go/mail