This guy at work could not figure out why some errors in his application were being caught by his error handling template (as defined by the CFError tag) and some were not. The errors being caught were handled nicely. The ones that were seemingly not caught were dumped out on to the page as if no error handler was defined.
This is a common problem that I see with people's error handling template. The problem here is that the CFError template will NOT handle errors that it produces. If this were the case, it could launch into some crazy, infinite loop of error handling. By surrounding the code of the error handling template with CFTry / CFCatch tags, it became immediately apparent that his error handler had a bug in it.
Looking For A New Job?
- Senior Coldfusion Engineer - Can work remotely at Eventsquid LLC
- Hiring Senior Cold Fusion Engineers at Giva, Inc.
- Web Developer at Association for Computing Machinery
- SQL/ColdFusion Database Developer at NADAP
my url is http://localhost/cftest/index.cfm if i made a mistake in index.cfm file, cferror tag does not catch it.
but if i include any other file in index.cfm file and make a mistake in included file , the cferror tag works fine
why is this?
There probably is something wrong in the error handler. Try cfdumping out CFERROR in the beginning and aborting.
You may have some type of syntax cvalidation error,
which I am noticing cfError will not handle.
if your error is in an included file, then the include validate fails and it falls under "fail to include x file" and becomes a different type of error.