Throw

Description

A function equivalent of the cfthrow tag and is used in the <cfscript> mode.

Parameters

Same as the <cfthrow> tag.

Function syntax

For name=value pair:

throw (detail, errorCode = "error code", extendedInfo = "additional info", message = "message", object = "java exception object", type = "exception type")

Following is the sequence of arguments for positional notations:

throw (detail, errorcode, extendedifo, message, object, type)

Usage

You can call this function by passing arguments as name=value pair or as positional arguments. For positional notations, specify the arguments in the sequence mentioned in the function syntax.

Example

<cfscript> 
function TotalInterest(principal, annualRate, months) 
{     var years = 0; 
    var interestRate = 0; 
    var totalInterest = 0; 
    principal = REReplace(trim(principal), "[\$]", "", "ALL"); 
    annualRate = Replace(trim(annualRate), "%", "", "ALL"); 
     
    if ((principal <= 0) OR (annualRate <= 0) OR (months <= 0)) { 
        Throw(type="InvalidData",message="All values must be greater than 0."); 
     
    //Use of Throw function in cfscript 
    } 
    interestRate = annualRate / 100; 
    years = months / 12;     
    totalInterest = principal * (((1 + interestRate) ^ years) - 1); 
    return DollarFormat(totalInterest); 
} 
 
try { 
    WriteOutput(TotalInterest("$2500.00", "5.5%", "12"));     
    } catch(InvalidData ex)    { 
    //Displayig exception details on screen 
    WriteOutput("<p>An InvalidData exception was thrown.</p>"); 
    WriteOutput("<p>#ex.message#</p>"); 
} 
</cfscript>