On 18 July 2011 13:20, Henrik Sperre Johansen
<[email protected]> wrote:
>
> Stéphane Ducasse wrote:
>>
>> We will think hard and see what is a reasonable solution.
>> What we want is the garantee that announcements are processed, that UI
>> continue to work even if a piece of code break part of it, same for event
>> handling.
>>
>>
> Lukas suggestion of changing it to fork on UnhandledErrors is a perfectly
> reasonable solution.
>
> In case handlers outside the delivery mechanism itself don't resume, well,
> the ifCurtailed: block of deliver:to: takes care of delivery to the
> remaining subscriptions. :)
> (except there's a bug when asking for after: of last element... ifAbsent:
> block used _both_ when element not found, AND when there are none after
> it??)
>
Ah, yes. We have ifCurtailed: there as well. So, putting UnhandledError
in delivery sounds like good way to resolve the conflict of interests.

> You can still break it though, by using a handler which enters an infinite
> loop/sleep forever, etc...
> I agree with Phillipe: "The only way to fix broken code is to fix broken
> code, not by adding
> additional hacks.".
> Robustness is desirable, but only to a certain extent. (IE guard against
> unforeseen errors, not those handled incorrectly)
>
> As for Lukas' concerns not addressed by switching to UnhandledError:
> In my experience when using announcements in VW, relying on delivery order
> of announcements isasking for trouble later on...
> The code paths get hard to follow, maintainability becomes a nightmare as
> adding new subscribers/modifying old ones might introduce subtle bugs, etc.
> For the use case you described in OB, why not split it into two
> announcements instead, the first one vetoable in the sense Vassily wrote
> about in the blog, and the second announced only if first not vetoed?
>
indeed.

> Cheers,
> Henry
>
>
>
> --
> View this message in context: 
> http://forum.world.st/Problem-with-announcements-in-Seaside-when-using-Pharo-1-3-tp3673669p3675019.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>
>



-- 
Best regards,
Igor Stasenko AKA sig.

Reply via email to