[REBOL] write does not return a value upon success. This is bad for try blocks R
From: bo:rebol at: 7-Sep-2000 10:17
Try using printerror.r from www.rebol.org in the Script Library section.
You can send a disarmed error object to printerror and it will display
the error as REBOL would, but without exiting the application.
-Bo
On 7-Sep-2000/9:57:35-7:00, [ryanc--iesco-dms--com] wrote:
>This method works well...
>>> m: error? try [ write %test "test" ]
>== false
>>> m: error? try [ write test "test" ]
>== true
>
>This will elleviate the problem with nothing being returned from write...
>>> m: try [ write %test "test" none]
>== none
>
>But you will still have to capture the error...
>>> m: try [ write test "test" none]
>** Script Error: test has no value.
>** Where: write test "test" none
>
>I just know how to bottle it up and spit it out later...
>>> if error? m: try [ write test "test" none] [ print "error detected!" m ]
>error detected!
>** Script Error: test has no value.
>** Where: write test "test" none
>
>Maybe someone knows how to peel an error! apart?
>
>--Ryan
>
>"Life... Dont talk to me about life." -A robot named Marvin
>
>[princepawn--lycos--com] wrote:
>
>> I am writing a script that will try 3 times to write a file and then fail, however,
I cant place a try block around the REBOL write statement because it does not return
anything upon success, thus I get an error that the word is not bound:
>>
>> >> m: try [ write ftp://chuck:[chuck1--170--16--15--136]/crossing/ndtd/user.r "hi there"
]
>> connecting to: 170.16.15.136
>> ** User Error: Server error: tcp 530 Login incorrect..
>> ** Where: write ftp://chuck:[chuck1--170--16--15--136]/crossing/ndtd/user.r "hi there"
>> ; -- great: when write fails 'm is bound
>> >> m: try [ write ftp://chuck:[chuck--1--170--16--15--136]/crossing/ndtd/user.r "hi there"
]
>> connecting to: 170.16.15.136
>> ** Script Error: m needs a value.
>> ** Where: m: try [write ftp://chuck:[chuck--1--170--16--15--136]/crossing/ndtd/user.r "hi
there"]
>> ; --- well this sucks. I cant get a return value upon success
>>
>> Get your FREE Email and Voicemail at Lycos Communications at
>> http://comm.lycos.com
>
--
Bohdan "Bo" Lechnowsky
REBOL Adventure Guide
REBOL Technologies 707-467-8000 (http://www.rebol.com)
Download the REBOL Messaging Language
The Official Source for REBOL Books (http://www.REBOLpress.com)