VisualAge Smalltalk has, in addition to the standard #on:do:, #when:do:, ..., #when:do:#when:do:#when:do:#when:do:#when:do:, with the last four mapping to #whenOneOf:doMatching:, taking two arrays.
It's easy enough to add your own methods like on: exn1 do: act1 on: exn2 do: act2 "An imperfect emulation of VAST's #when:do:when:do:" ^[self on: exn1 do: act1] on: exn2 do: act2 on: exn1 do: act1 on: exn2 do: act2 on: exn3 do: act3 "An imperfect emulation of VAST's #when:do:when:do:when:do:" ^[[self on: exn1 do: act1] on: exn2 do: act2] on: exn3 do: act3 to BlockClosure. It won't be fast, but your code might be clearer. On Mon, 8 Apr 2019 at 10:21, Tim Mackinnon <tim@testit.works> wrote: > > Thanks, I guess that makes sense, although it somehow looks a bit ugly > with the nested brackets.. but nothing else springs to mind so maybe I’ll > get used to it (and In my case I think it’s likely 2 or 3 different > exceptions) > > Tim > > Sent from my iPhone > > > On 7 Apr 2019, at 20:43, Richard Sargent < > richard.sarg...@gemtalksystems.com> wrote: > > > > > > This last one. > > > > [[self run] > > on: TestFailure > > do: [:testEx | ...]] > > on: Error > > do: [:error | ...] > > >