- From: <bugzilla@jessica.w3.org>
- Date: Wed, 05 Jun 2013 06:37:03 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=18877 --- Comment #17 from Michael Dyck <jmdyck@ibiblio.org> --- In addition, note that other sentences in the same section have the same bug as raised in comment #0... "If a function call occurs within a try clause, errors raised by evaluating the corresponding function are caught by the try/catch expression." But consider: declare function local:f() { 1 div 0 }; try { function() { local:f() } } catch * { 42 } The function call local:f() occurs with the try clause, and so the spec indicates that the error it raises is caught by the try/catch expr. However, it shouldn't be, because the eval of that function call is not caused by the eval of the target expression. ---- "If a variable reference is used in a try clause, errors raised by binding a value to the variable are not caught unless the binding expression occurs within the try clause." But consider: try { function() { let $x := 1 div 0 return $x } } catch * { 42 } The binding expression "1 div 0" occurs within the try clause, and so the spec (maybe) says that the dynamic error raised by evaluating that expression is caught by the try/catch expr. However, it shouldn't be. (Actually, this dynamic error isn't raised by "binding a value to the variable", but by attempting to come up with a value in the first place. But you get the idea.) -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Wednesday, 5 June 2013 06:37:07 UTC