(final QueryContext qc)
| 100 | } |
| 101 | |
| 102 | @Override |
| 103 | public Value value(final QueryContext qc) throws QueryException { |
| 104 | try { |
| 105 | return expr.value(qc); |
| 106 | } catch(final QueryException ex) { |
| 107 | Util.debug(ex); |
| 108 | final Catch ctch = matches(ex); |
| 109 | if(ctch != null) return ctch.value(qc, ex); |
| 110 | throw ex; |
| 111 | } finally { |
| 112 | final Value fnl = fnlly.value(qc); |
| 113 | if(fnl != Empty.VALUE) throw FINALLY_X.get(info, fnl); |
| 114 | } |
| 115 | } |
| 116 | |
| 117 | /** |
| 118 | * Returns a matching catch clause. |