X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2FTrap.java;fp=src%2Forg%2Fxwt%2FTrap.java;h=e3b6c19c7491b89e2e47618c765e0cb4f609462f;hb=b5b84ec73713b8ff40e177d4122dda19bd84bf8e;hp=bb32ee42501711f414c1e2f8215d35d3762a87d4;hpb=2392ea57476fb9fac4171301bc9a95c60c47970b;p=org.ibex.core.git diff --git a/src/org/xwt/Trap.java b/src/org/xwt/Trap.java index bb32ee4..e3b6c19 100644 --- a/src/org/xwt/Trap.java +++ b/src/org/xwt/Trap.java @@ -155,7 +155,7 @@ public class Trap { private Trap() { allTraps.put(myWeak, dummy); } /** perform this trap -- arg.length == 0 if this is a get; otherwise it contains a single element to be put */ - public Object perform(JS.Array args) { + public Object perform(JS.Array args) throws JS.Exn { TrapContext tc = TrapContext.get(); // save both thread-locals on the stack and update their values @@ -182,17 +182,13 @@ public class Trap { if (args.length() > 0 && !isreadtrap && !tc.putCascadeHappened) cascadeFunction.call(args); return ret; - - } catch (JS.Exn e) { - if (Log.on) Log.log(this, e); - + } finally { // restore the thread-locals tc.putCascadeHappened = save_putCascadeHappened; tc.currentTrap = save_currentTrap; tc.trapDepth--; } - return null; } /** removes this trap */