X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fjs%2FJSExn.java;fp=src%2Forg%2Fibex%2Fjs%2FJSExn.java;h=8d1a758ee1c6aa503f3e3e7e7f29cc2014fd8a0a;hb=3591b88b94a6bb378af3d4abe6eb5233ce583104;hp=0000000000000000000000000000000000000000;hpb=de378041d5ca2aca1a2b5a31ef15ae90a86c977f;p=org.ibex.core.git diff --git a/src/org/ibex/js/JSExn.java b/src/org/ibex/js/JSExn.java new file mode 100644 index 0000000..8d1a758 --- /dev/null +++ b/src/org/ibex/js/JSExn.java @@ -0,0 +1,31 @@ +// Copyright 2004 Adam Megacz, see the COPYING file for licensing [GPL] +package org.ibex.js; + +import org.ibex.util.*; + +/** An exception which can be thrown and caught by JavaScript code */ +public class JSExn extends Exception { + private Vec backtrace = new Vec(); + private Object js = null; + public JSExn(Object js) { this.js = js; } + public String toString() { return "JSExn: " + js; } + public String getMessage() { return toString(); } + public Object getObject() { return js; } + public void addBacktrace(String sourceName, int lineNo) { backtrace.addElement(sourceName + ":" + lineNo); } + public String backtrace() { + StringBuffer sb = new StringBuffer(1024); + for(int i=0;i