cfabort

説明

このタグの位置で ColdFusion ページの処理を停止します。ColdFusion によって、このタグの前に処理されたすべての内容が返されます。このタグはしばしば条件論理式とともに使用され、ある条件が発生した場合にページの処理を停止します。

シンタックス

<cfabort  
    showError = "error message">
注意: このタグの属性は attributeCollection で指定でき、その値は構造体になります。attributeCollection で構造体の名前を指定し、タグの属性名を構造体のキーとして使用します。

関連項目

cfbreakcfexecutecfexitcfifcflocationcfloopcfswitchcfthrowcftry、『ColdFusion アプリケーションの開発』のcfabort and cfexit

属性

属性

必須 / オプション

デフォルト

説明

showError

オプション

 

タグの実行時に、標準の ColdFusion エラーページに表示するエラーです。

使用方法

cfabort タグと cferror タグをともに使用すると、cfabort タグによりすぐに処理が停止され、cferror タグにより指定されたページに出力がリダイレクトされます。

このタグに showError 属性値が含まれない場合、タグに到達すると処理はすぐに停止され、ColdFusion により cfabort タグを含む行までのページコンテンツが返されます。

このタグを showError 属性とともに使用する一方で、cferror タグを使用してエラーページを定義しなかった場合は、cfabort タグに到達したときにページ処理が停止されます。また、showError 内のメッセージがクライアントに表示されます。

このタグを showError 属性とともに使用し、同時に cferror を使用してエラーページを定義すると、cferror タグで指定されたエラーページに出力がリダイレクトされます。
注意: cfabortcflocation または cfcontent タグを使用した場合は、OnRequestEnd ではなく OnAbort メソッドが呼び出されます。

この例は、処理を停止するための cfabort の使用方法を示します。cfabort が使用されている 2 番目の例では、結果が表示されません。

<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#</p> 
</cfoutput> 
 
<h3>Example B: Use cfabort to halt the instructions with showmessage attribute and 
    cferror</h3> 
<!--- Reset the variable and show the use of cfabort. ---> 
<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> 
    <!--- Take out the cferror line to see cfabort error processed by CF error page. ---> 
        <cferror type="request" template="request_err.cfm"> 
        <cfabort showerror="CFABORT has been called for no good reason"> 
<!--- Processing is stopped, ---> 
<!--- and subsequent operations are not carried out.---> 
    <cfelse> 
        <cfset myVariable = myVariable + 1> 
    </cfif>  
</cfloop> 
 
<cfoutput> 
<p> The value of myVariable after incrementing through the loop#counter# times is: #myVariable#</p> 
</cfoutput>