Henry
Henry

Reputation: 32915

What does CFEXIT do inside a function in a CFC?

What does <cfexit> do inside a function, inside a cfc?

Is it the same as <cfabort>?

I'm refactoring some legacy code, and wonder if I need to pay special attention to it...

Thanks.

Upvotes: 4

Views: 1622

Answers (1)

Leigh
Leigh

Reputation: 28873

My recollection of how a basic <cfexit> behaves is:

  1. Used within a CFC, cfexit exits the cfc function. But processing of the calling page continues.
  2. If within a function, but NOT inside a cfc, then processing is aborted.

Update: I just confirmed that behavior under CF9.0.1

Results (using cfexit)

Start calling page 
Called test()
Finish calling page 
Called on requestEnd

Results (using cfabort)

Start calling page 
Called test()
Called on requestEnd

Test.cfm

Start calling page <br />
<cfset createObject("component", "Foo").test()>
Finish calling page <br />

Foo.cfc

<cfcomponent>
    <cffunction name="test" output="true">
        Called test()<br />
        <cfexit>
    </cffunction>
</cfcomponent>

Upvotes: 8

Related Questions