Richard Fateman wrote:
> Raymond Toy wrote:
>
>> ...
>>
>
>
>> Perhaps we can make these signal errors that are handled to return
>> NoObject things, but users/developers can make it so that the error is
>> actually caught and throws the user to the debugger?
>>
>>
> Many of these issues have been thrashed out in the context of the
> handling of exceptions in IEEE floating-point.
>
Actually, I wasn't thinking about NaN and such, but things like
divergent integrals and other things like that where Dieter was
proposing returning NoObjects. In many ways, it makes debugging much
harder.
>> I've found it quite useful to have debugmode(true) when trying to figure
>> out where my maxima routine was dividing by zero. It's really annoying
>> to have some long running routine stop with a divide by zero error and
>> no way of figuring out where that happened.
>>
>>
> Does debugmode(true) really give you the info you need? Maybe there
> should be a tutorial on this topic.
>
Actually, I don't really know. All I remember was using it to get a
useful backtrace of functions written in maxima. Then I'd go put print
statements near the offending line. But debugmode is basically useless
for Lisp functions. (I have thought about enhancing debugmode, but that
is implementation specific, so I never tried.)
For other cases, I think I just pressed Ctrl-C to get to the Lisp
debugger. This is particularly useful when you are asked for the sign
of something and you want to know how we got there.
Ray