[squeak-dev] Exception handling bug; NameLookupFailure>defaultAction

Marcel Taeumel marcel.taeumel at hpi.de
Thu Jan 3 08:16:09 UTC 2019


Hi, there.

I suppose that in all cases the fix is like this:

OLD:
"some stuff"
MyException signal.
"more stuff"

NEW:
["some stuff" MyException signal]
  on: MyException
  do: [:ex | ex retry].
"more stuff"

Plus, removing that #retry call from the execptions #defaultAction implementation. Similar for #pass, #resume, #resume:, #retryUsing:, #return, #return:.

Best,
Marcel
Am 03.01.2019 06:05:36 schrieb tim Rowledge <tim at rowledge.org>:
Exception handling is fun!

After some discussions at todays' SOB meeting, Eliot pointed out that we should be worrying about what the J20 standard says about exceptions. Interestingly, it explicitly calls out the sort of thing that NameLookupFailure>defaultAction does as wrong, with capital W and extra '!!'. So, even though I found a slightly tacky work-around that appears to make it function most of the time, what we actually need to do is fix the real problem, ie bad code in some implementations of #defaultAction. And, maybe, comment a few places to help future-us get it right later.

Looking at implementations of #defaultAction in the image I see the following in need of fixing -

EnvironmentRequest>>#defaultAction
FTPConnectionException>>#defaultAction
InMidstOfFileinNotification>>#defaultAction
MCProxyMaterialization>>#defaultAction
NameLookupFailure>>#defaultAction
OutOfScopeNotification>>#defaultAction
ProgressInitiationException>>#defaultAction
ProgressTargetRequestNotification>>#defaultAction
ProjectEntryNotification>>#defaultAction
ProjectPasswordNotification>>#defaultAction
ProjectViewOpenNotification>>#defaultAction
RequestAlternateSyntaxSetting>>#defaultAction (note that this was related to an ancient syntax experiment and the involved preference is no longer implemented and should be finally excised - see #printAlternateSyntax)
WebAuthRequired>>#defaultAction

tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Strange OpCodes: START: Cancel preceding jobs in queue



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190103/acb4676f/attachment.html>


More information about the Squeak-dev mailing list