示例#1
0
  /** Returns a String representation of this Exception. */
  public static Value __toString(Env env, @This ObjectValue value) {
    StringValue sb = new StringValue();

    sb.append("ExceptionClass[" + value.getName() + "]\n");
    sb.append(getMessage(env, value));
    sb.append("\n");
    sb.append(getTraceAsString(env, value));
    sb.append("\n");

    return sb;
  }
示例#2
0
  /** Returns the trace. */
  public static Value getTraceAsString(Env env, @This Value obj) {
    Value trace = getTrace(env, obj);

    StringValue sb = new StringValue();
    sb.append("<trace>");

    Iterator<Value> iter = trace.getValueIterator(env);

    while (iter.hasNext()) {
      Value value = iter.next();

      sb = sb.append('\n');
      sb = sb.append(value.get(FILE));
      sb = sb.append(':');
      sb = sb.append(value.get(LINE));
      sb = sb.append(": ");
      sb = sb.append(value.get(FUNCTION));
    }

    return sb;
  }