> > But that assumes that the root cause of the error is > where > > the error was raised (or close to it). Often times it > is > > not (unless I stick in all my isinstance checks), so > the > > actual error entered the application state an hour ago, > > the consequence just wasn't felt until later. But then > in > > a Smalltalk environment I suppose you could go manual > > fiddle with the objects that have bad values. > > It also assumes there is an exception. I often have > errors in code (the kind that static typing captures) that > don't manifest themselves as exceptions.
Me too. But usually (for me) those are algorithmic and wouldn't have been caught by static typing.
One thing that occured to me is that I don't always take the most "testable" approach. I could refactor me code so that it is more resumeable. If I memoized certain results to disk so they could be reloaded instead of computed, or took a more granular staged approach to the computation, it would be better. But then I'm dealing with tangential issues when I want to be developing an algorithm.