<< Prev | - Up - | Next >> |
Errors in programs often manifest themselves by unhandled exceptions. Ozcar supports post-mortem inspection of threads that died of a system or error exception. (User exceptions do not provide debugging information - work around this by raising your exceptions as error exceptions, using Exception.raiseError
.)
Exception Handling
Any unhandled exception, which is normally just printed out to standard error, is caught by Ozcar. It attaches the dying thread and displays the stack from the time the exception was raised (or re-raised). The topmost frame gets the description exception
followed by the exception value itself. Note that all stack frames include environment information. The description of the exception itself is provided in the Status Line.
Example
Consider the following code. Its author forgot to handle some value in his patterns, leading to a missing else
exception, as depicted in Picture 7.1:
local
proc {Check X}
case X
of foo then {Show 'This is a foo'}
[] bar then {Show 'This is a bar'}
end
end
in
{Check foobar}
end
<< Prev | - Up - | Next >> |