From: Malcolm R. <mal...@gm...> - 2009-07-30 23:49:58
|
> ignore-errors is evil. > > the time you'll waste on debugging misbehavior hidden by it, easily > exceeds the time you would need to make the code so that it's not > needed. at least that was my experience and i soon stopped using such > constructs except at very short lived dynamic extents like an > (ignore-errors (parse-integer ...)) Yeah I'm starting to realise this.. Once I read how handler-case worked it was simple to change the code to only catch the parse errors.. That's running now and it's been going several hours and has nearly processed all my 8 million records. No crashes or glitches of any kind. I was expecting the memory error to occur again but just to be a bit more readable, but there's been no problems. I don't know whether this is possible, but could it be the case that some low level code was signalling that it was low on memory, the high level code was responding by making it call the garbage collector, but then these signals weren't getting through before due to the ignore-errors statement? I'm glad things appear to be working fine now, just curious as to what may have been the underlying cause. I'm on a bit of a tight schedule with my dissertation right now, but when I have time I'll try and come back and get the crash reproducable, as I'm keen to help diagnose this for the SBCL developers if possible. Malcolm |