Changeset 4749


Ignore:
Timestamp:
11/14/03 17:49:58 (18 years ago)
Author:
piso
Message:

Improved error reporting in initializeLisp().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/lisp/Interpreter.java

    r4632 r4749  
    33 *
    44 * Copyright (C) 2002-2003 Peter Graves
    5  * $Id: Interpreter.java,v 1.43 2003-11-03 16:07:54 piso Exp $
     5 * $Id: Interpreter.java,v 1.44 2003-11-14 17:49:58 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    9797                    Load._load("j.lisp");
    9898                }
     99            }
     100            catch (ConditionThrowable c) {
     101                reportError(c, LispThread.currentThread());
    99102            }
    100103            catch (Throwable t) {
     
    242245                }
    243246                catch (ConditionThrowable c) {
    244                     getStandardInput().clearInput();
    245                     getStandardOutput().freshLine();
    246                     String message = c.getCondition().getMessage();
    247                     if (message != null)
    248                         out.writeLine("Error: " + message + ".");
    249                     else
    250                         out.writeLine("Error: unhandled condition: " + c.getCondition());
    251                     thread.backtrace();
     247                    reportError(c, thread);
    252248                }
    253249                catch (Throwable t) {
     
    260256        catch (Throwable t) {
    261257            t.printStackTrace();
     258        }
     259    }
     260
     261    private static void reportError(ConditionThrowable c, LispThread thread)
     262    {
     263        try {
     264            getStandardInput().clearInput();
     265            CharacterOutputStream out = getStandardOutput();
     266            out.freshLine();
     267            String message = c.getCondition().getMessage();
     268            if (message != null)
     269                out.writeLine("Error: " + message + ".");
     270            else
     271                out.writeLine("Error: unhandled condition: " + c.getCondition());
     272            thread.backtrace();
     273        }
     274        catch (Throwable t) {
     275            ;
    262276        }
    263277    }
Note: See TracChangeset for help on using the changeset viewer.