Also from  XOM's Canonicalizer class, 
Code coverage can notice an exception is or is not thrown into a catch block. However, it can't determine if both cases reach into a finally block:
            try {
                write(node.query(".//. | .//@* | .//namespace::*"));
            }
            finally {
                if (pseudoRoot != null) pseudoRoot.removeChild(0);
            }