The CFABORT tag stops processing of a page at the tag location. ColdFusion simply returns everything that was processed before the CFABORT tag. CFABORT is often used with conditional logic to stop processing a page because of a particular condition.
<CFABORT SHOWERROR="text">
Optional. Specify the error you want to display when CFABORT executes. This error message appears in the standard ColdFusion error page.
When combining CFABORT and CFERROR, remember that CFERROR is meant to redirect output to a specified page. CFABORT is intended to halt processing immediately.
If the CFABORT tag does not contain a SHOWERROR attribute value, processing stops immediately and the page contents are shown all the way up to the line containing the CFABORT tag.
When using CFABORT with SHOWERROR by itself (that is without defining an error page using CFERROR) page processing stops once the CFABORT tag is reached and the message defined in SHOWERROR is displayed to the client.
If you have a page in which you've defined both an error page using CFERROR and a CFABORT tag using the SHOWERROR attribute, ColdFusion redirects output to the error page specified in the CFERROR tag.
<!--- this example demonstrates the use of CFABORT to stop the processing of a CFLOOP. Note that in the second example, where CFABORT is used, the result never appears ---> <HTML> <HEAD> <TITLE>CFABORT Example</TITLE> </HEAD> <BODY bgcolor=FFFFFF> <H1>CFABORT Example</H1> <P> <H3>Example A: Let the instruction complete itself</H3> <!--- first, set a variable ---> <CFSET myVariable = 3> <!--- now, perform a loop that increments this value ---> <CFLOOP FROM="1" TO="4" INDEX="Counter"> <CFSET myVariable = myVariable + 1> </CFLOOP> <CFOUTPUT> <P> The value of myVariable after incrementing through the loop #Counter# times is: #myVariable# </CFOUTPUT> <!--- reset the variable and show the use of CFABORT ---> <H3>Example B: Use CFABORT to halt the instruction</H3> <CFSET myVariable = 3> <!--- now, perform a loop that increments this value ---> <CFLOOP FROM="1" TO="4" INDEX="Counter"> <!--- on the second time through the loop, CFABORT ---> <CFIF Counter is 2> <CFABORT> <!--- the processing is stopped, and subsequent operations are not carried out by the CFAS ---> <CFELSE> <CFSET myVariable = myVariable + 1> </CFIF> </CFLOOP> <CFOUTPUT> <P> The value of myVariable after incrementing through the loop #counter# times is: #myVariable# </CFOUTPUT> </BODY> </HTML>