Using exceptions for flow control can be very inefficient on most modern VMs. This is because exception handling is rarely optimized. Thus it is highly preferable to use conditionals to test for exceptional conditions and avoid them instead of using a try/catch to knowingly trigger them.
I saw some code in org.drools.io.RuleSetReader.resolveSchema() that tested various locations for the xsd file using exceptions for flow control. Attached is a patch that eliminates that with identical functionality.
Finally, this piece of code has been retired from Drools 3, and has been sent out the pasture (or perhaps the shed, and then shot in the head). No you can't visit it.