MACROMEDIA COLDFUSION MX 61-DEVELOPING COLDFUSION MX Develop Manual page 310

Developing coldfusion mx applications
Table of Contents

Advertisement

The custom tag finds all records in the CompanyInfo database with a matching last name, and
returns the results in a Caller variable. If it fails to connect with the main database, it tries a
backup database.
The calling page
The calling page represents a section from a larger application page. To keep things simple, the
example hard-codes the name to be looked up.
<cftry>
<cf_getEmps EmpName="Jones">
<cfcatch type="myApp.getUser.noEmpName">
<h2>Oops</h2>
<cfoutput>#cfcatch.Message#</cfoutput><br>
</cfcatch>
</cftry>
<cfif isdefined("getEmpsResult")>
<cfdump var="#getEmpsResult#">
</cfif>
Reviewing the code
The following table describes the code:
Code
<cftry>
<cf_getEmps EmpName="Jones">
<cfcatch type="myApp.getUser.noEmpName">
<h2>Oops</h2>
<cfoutput>#cfcatch.Message#</cfoutput><br>
</cfcatch>
</cftry>
<cfif isdefined("getEmpsResult")>
<cfdump var="#getEmpsResult#">
</cfif>
The custom tag page
The custom tag page searches for the name in the database and returns any matching records in a
getEmpsResult variable in the calling page. It includes several nested
conditions. For a full description, see
Save the following code as getEmps.cfm in the same directory as the calling page.
<!--- If the tag didn't pass an attribute, throw an error to be handled by
the calling page --->
<cfif NOT IsDefined("attributes.EmpName")>
<cfthrow Type="myApp.getUser.noEmpName"
message = "Last Name was not supplied to the cf_getEmps tag.">
<cfexit method = "exittag">
<!--- Have a name to look up --->
<cfelse>
<!--- Outermost Try Block --->
<cftry>
<!--- Inner Try Block --->
<cftry>
310
Chapter 14: Handling Errors
Description
In a
cftry
tag (getEmps.cfm).
If the tag throws an exception indicating that it
did not receive a valid attribute, catches the
exception and displays a message, including
the message variable set by the
the custom tag.
If the tag returns a result, uses the
to display it. (A production application would
not use
"Reviewing the
code", following the example:
block, calls the cf_getEmps custom
.)
cfdump
blocks to handle error
cftry
tag in
cfthrow
tag
cfdump

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the COLDFUSION MX 61-DEVELOPING COLDFUSION MX and is the answer not in the manual?

Questions and answers

This manual is also suitable for:

Coldfusion mx

Table of Contents