


report-error(n)           STk procedure           report-error(n)


NAME
       report-error - Command invoked to process errors

SYNOPSIS
       (report-error head message obj)


DESCRIPTION
       Report-error  is  called by the interpreter when an error occurs.  This
       procedure is written in Scheme and can be by an application which needs
       to  handle  redefined  to  handle errors. The head argument is a string
       which identify the kind of error. The head argument contains the  error
       message  and  obj  contains  the  object which causes the error (or the
       empty list when there is no object to incriminate).

       The STk library includes a default report-error procedure that posts  a
       dialog box containing the error message and offers the user a chance to
       see a stack trace showing where the error occurred and  its  associated
       environment.

       If  an  error  occurs  while is report-error execution, the interpreter
       detect that the procedure is buggy and it redirect further messages  on
       the standard error port.

       Hereafter  is  a simple non-graphical error reporter.  (define (report-
       error head message obj)
         (let ((port (current-error-port)))
           ;; Display message
           (format port "~A: ~A ~S0  head message obj)
           ;; Display stack
           (let ((stack (%get-eval-stack))          (env    (%get-environment-
       stack)))
             (for-each  (lambda  (x  y)  (format  port  "~A ~A0 x (uncode y)))
                 env           stack))))























STk                            3.1                              1


