# HG changeset patch # User Jaroslav Tulach # Date 1365775164 -7200 # Node ID 44cd2b184dd1c80f1702738cd6e84b9901bf7f97 # Parent fbabd1f33dda5a497880a4e2cddc852e2e53604d Surround calls to JavaScript with catch (Throwable) diff -r fbabd1f33dda -r 44cd2b184dd1 javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/Knockout.java --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/Knockout.java Fri Apr 12 15:42:05 2013 +0200 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/Knockout.java Fri Apr 12 15:59:24 2013 +0200 @@ -89,8 +89,12 @@ public void valueHasMutated(String prop) { LOG.log(Level.FINE, "property mutated: {0}", prop); - JSObject koProp = (JSObject) ((JSObject)model).getMember(prop); - koProp.call("valueHasMutated"); + try { + JSObject koProp = (JSObject) ((JSObject) model).getMember(prop); + koProp.call("valueHasMutated"); + } catch (Throwable t) { + LOG.log(Level.FINE, "valueHasMutated failed for {0}", model); + } } @@ -141,8 +145,12 @@ + "); x;"); Object ko = e.executeScript("ko"); - bnd.call("bnd", ko, bindings, model, prop, strip(getter), strip(setter), primitive, array); - LOG.log(Level.FINE, "binding defined for {0}: {1}", new Object[]{prop, ((JSObject)bindings).getMember(prop)}); + try { + bnd.call("bnd", ko, bindings, model, prop, strip(getter), strip(setter), primitive, array); + LOG.log(Level.FINE, "binding defined for {0}: {1}", new Object[]{prop, ((JSObject)bindings).getMember(prop)}); + } catch (Throwable ex) { + LOG.log(Level.FINE, "binding failed for {0} on {1}", new Object[]{prop, bindings}); + } } private static String strip(String mangled) {