Just found this issue, which doesn't seem to be well
documented and may come up for people trying to migrate to
Seems that a cferror tag in Application.cfc (placed in the
CFC initialization code) searches for its template differently from
the same cferror tag in Application.cfm.
In Application.cfm, cferror looks for the template in the
top-level directory (where Application.cfm is), while the cfc
version takes the directory of the executing page as its current
I believe that cfinclude and cfmodule tags in Application.cfc
initialization code still resolve their template references
relative to that location (top-level), as they should.
Possible workarounds are to set up a CF Mapping (not my
choice and not always an option), or to put a handler file of the
same name in every directory of the application (probably just put
the code in the top-level one, and cfinclude that from all the
others). Or, of course, to migrate immediately to an onError
Anyone know if this cferror behavior still exists in CF8?