Object memberValue = objects.elementAt(objects.size() - 1);
String memberName = (String)objects.elementAt(objects.size() - 2);
JS struct = (JS)objects.elementAt(objects.size() - 3);
- struct.put(memberName, memberValue);
+ try {
+ struct.put(memberName, memberValue);
+ } catch (JSExn e) {
+ throw new Error("this should never happen");
+ }
objects.setSize(objects.size() - 2);
case "data":
int i;
for(i=objects.size() - 1; objects.elementAt(i) != null; i--);
JSArray arr = new JSArray();
- for(int j = i + 1; j<objects.size(); j++) arr.put(new Integer(j - i - 1), objects.elementAt(j));
+ try {
+ for(int j = i + 1; j<objects.size(); j++) arr.put(new Integer(j - i - 1), objects.elementAt(j));
+ } catch (JSExn e) {
+ throw new Error("this should never happen");
+ }
objects.setElementAt(arr, i);
objects.setSize(i + 1);
//#end
new java.lang.Thread() {
public void run() {
try {
- final Object ret = call_(args);
- Scheduler.add(new Scheduler.Task() {
- public void perform() {
- try {
- callback.unpause(null);
- } catch (JS.PausedException pe) {
- // okay
+ try {
+ final Object ret = call_(args);
+ Scheduler.add(new Scheduler.Task() {
+ public void perform() {
+ try {
+ callback.unpause(null);
+ } catch (JS.PausedException pe) {
+ // okay
+ } catch (JSExn e) {
+ // FIXME
+ throw new Error("FIXME");
+ }
}
- }
- });
- } catch (IOException se) {
- if (Log.on) Log.log(this, se);
- throw new JSExn("socket exception: " + se);
+ });
+ } catch (IOException se) {
+ if (Log.on) Log.log(this, se);
+ throw new JSExn("socket exception: " + se);
+ }
+ } catch (JSExn e) {
+ // FIXME
+ throw new Error("FIXME");
}
} }.start();
return null;