Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: And another stumper....

From: anton:wilddsl:au at: 30-Aug-2007 13:55

Kai, Tim is correct, you have to be more careful handling errors. Example, this is not enough to trap the error: my-error: try [1 / 0] disarm my-error In the first expression above, the set-word looks for a value, and gets an error from TRY. The result returned is the value of the set-word, which is the error, so it is left to "explode". You can do this: disarm my-error: try [...] but that assumes that there always will be an error. It will fail when your code does not make an error: disarm my-error: try [print 100] So a way that handles all errors and normal return values is: if error? set/any 'my-error try [...][ print mold disarm my-error ] Yes, it is quite wordy, but it's possible to refactor into helper functions, as Ladislav has done. Regards, Anton.