This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
We say that try/catch catches errors "during dynamic evaluation for expressions that are lexically contained within the try clause" Consider let $f := try { function($x){3 div $x} } catch {round#1} return $f(0) I don't think the try/catch is intended to catch the divide-by-zero error, because evaluation of the function body is not caused by the evaluation of the try expression. But the way the rule is phrased in terms of lexical containment suggests otherwise.
*** This bug has been marked as a duplicate of bug 18877 ***