ACTION A-515-03 on Michael Kay to raise a bug against XSLT to bring it in line with the decision made in bug https://www.w3.org/Bugs/Public/show_bug.cgi?id=16370 (Does a TryCatch expression catch a type error raised during the static analysis phase?)
(a) try/catch can catch type errors if they are not detected statically
(b) a try/catch around the body of a function does NOT catch the type error that occurs if the body of the function delivers the wrong type of result. This can be caught only by putting a try/catch around the function call.
(c) equally, a try/catch in the initializer of a variable will not catch the error when the initializer's result does not match the variable declaration. In the case of a global variable this error cannot be caught, because there is nowhere to catch it.
Action on the editor to check whether this is consistent with what the spec currently says or if not, what changes are needed.
The rules for try/catch have been clarified to cover the points listed.
Changes applied in draft N.