Deutsch   English   Français   Italiano  
<vivn7o$2hmkl$3@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Alan Grunwald <nospam.nurdglaw@gmail.com>
Newsgroups: comp.lang.tcl
Subject: Re: try... query
Date: Fri, 6 Dec 2024 20:35:10 +0000
Organization: A noiseless patient Spider
Lines: 45
Message-ID: <vivn7o$2hmkl$3@dont-email.me>
References: <viut96$2bm0b$1@dont-email.me> <ygaed2k8zfs.fsf@akutech.de>
 <vivltr$2hmkl$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 06 Dec 2024 21:36:08 +0100 (CET)
Injection-Info: dont-email.me; posting-host="d402301f5313063a3398df8ec6a50317";
	logging-data="2677397"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX190UDCstJZThA4HefcfBnDsJod1m8Gk++c="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:XA3uSn3XtAvWCvPLbXsGhBgQO5U=
In-Reply-To: <vivltr$2hmkl$2@dont-email.me>
Content-Language: en-US
Bytes: 2990

On 06/12/2024 20:12, Alan Grunwald wrote:
> On 06/12/2024 17:59, Ralf Fassel wrote:
>> * Alan Grunwald <nospam.nurdglaw@gmail.com>
<all helpful context removed>
> 
> Thanks Ralf,
> 
> As I pointed out to Harald, deleting the objects in a finally clause is 
> explicitly not what I want to do since I wish to return them if there 
> are no errors. I believe that I need to propagate the error explicitly 
> if I add an on error clause. I'll see what happens if I do return 
> -options $errorDict $message rather than extracting and specifying 
> -code, -errorcode and -errorinfo. I guess if would help if I could 
> recall what issue emerged when I tried doing it that way in the past, 
> but sadly...
> 

Thank you very much indeed. Modifying my genuine code to use

      return -options $errorDict $message

makes everything work as I originally expected - the resources are 
tidied away correctly, and the error is propagated properly.

I'm now a happy bunny, but am slightly troubled by wondering why my 
original attempt didn't work. I've had a closer look at the try manpage 
and see the statement

"If an exception (i.e. any non-ok result) occurs during the evaluation 
of either the handler or the finally clause, the original exception's 
status dictionary will be added to the new exception's status dictionary 
under the -during key."

which I had previously overlooked. I guess that no -during key is 
included if I raise the error using -options, but I'm not convinced that 
there's anything on the try manpage that should make me expect that no 
on error handler will be executed if there's a -during key. Granted this 
is kind of weird stuff that I wouldn't expect to get right first (or 
second or third) time, but I would hope to understand what's going on by 
the time I have got it right!

Anyway, thanks again, further explanations would be welcome, but are by 
no means essential :-)

Alan