Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Tim Exception for UI approach
Last updated at 5:51 pm UTC on 19 July 2013
{side problem - it asks the user if it should do that at fileout time
via a dialogue. this is marginally acceptable when the fileout is done
from the UI browser, totally unnacceptable when done via a doit}
Here is a changeset that offers a possible way around this. I know
Stephane et al. are working in this area anyway so I hope it might prove
useful to them in some way.

"Change Set: FileOutUIRemove
Date: 5 April 2003
Author: tim@sumeru.stanford.edu

When we file out a class a nofitier asks if we want to include the pool
dictionaries and then further notifiers ask for each pool. This is ok
when there is a UI but a potential catastrophe in a shrunk system with
no Display. Perhaps worse, it is simply poor engineering.

This changeset illustrates an approach to avoiding this problem with the
use of an Exception that has a defaultAction of simply returning true.
UI tools (such as the Browser) can handle the exception an use a
notifier instead.

The new Exception class has a deliberately dumb name because I couldn't
think of a good one. I suggest that a matching default-to-false class
would be useful and a better mechanism to pass information up to the
handler (or another approach entirely) would be nice.

There are interesting problems in using Exceptions in this way. Writers
of code have to know that an exception may be raised and how to handle
it. This can mean reading a whole bunch of code in order to find out how
and when the raising occurs."
FileOutUIRemove.cs.gz