CFCatch Java Exceptions
Did you know that you can catch java exceptions by class name with cfcatch
? It's not documented on the cfcatch
tag documentation (as of CF8), but it works... Here's an example:
<cftry> <cfset list = CreateObject("java", "java.util.LinkedList")> <cfset list.get(5)> <cfcatch type="java.lang.IndexOutOfBoundsException"> Index outta bounds </cfcatch> </cftry>
There is one special exception that Mark Mandel has blogged about, and that is if the exception is caused by a class that was loaded by a different classloader, cfcatch won't be able to catch it by type. Perhaps that's why this feature is undocumented?