Microsoft KB Archive/174222

= PRB: Scriptor Component Returns "Catastrophic Failure" Error Message =

Article ID: 174222

Article Last Modified on 9/30/2003

-

APPLIES TO


 * Microsoft Commerce Server 2.0

-



This article was previously published under Q174222



SYMPTOMS
When a custom scriptor component written in VBScript is executed, the following error may occur based on whether or not error handling code is in place in the component. Commerce.OrderPipeline error '80020009'

Commerce.Scriptor.1 Cannot Execute Script SetScriptSite Catastrophic failure

, The first time a scripting error is encountered, the pipeline returns the error and a description of the scripting error. For example, if you attempt to divide an integer by zero in your component, you receive the following error message the first time pipeline is run: Commerce.OrderPipeline error '80020009'

Commerce.Scriptor.1 Cannot Execute Script Execute invocation failed Unspecified error Division by zero

, After the scriptor component encounters the divide by zero error, subsequent executions of the order processing pipeline fail with the "catastrophic failure" error message.



CAUSE
The problem occurs because no error handling code is written in the custom component.



WORKAROUND
To work around this problem, always specify "On Error Resume Next" in the component's VBScript code.



MORE INFORMATION
The following information about "On Error Resume Next" is included in the online VBScript reference in Visual Studio:   Syntax On Error Resume Next

Remarks If you don't use an On Error Resume Next statement, any run-time error that occurs is fatal; that is, an error message is displayed and execution stops.

On Error Resume Next causes execution to continue with the statement immediately following the statement that caused the run-time error, or  with the statement immediately following the most recent call out of the procedure containing the On Error Resume Next statement. This allows execution to continue despite a run-time error. You can then build the error-handling routine inline within the procedure. An On Error Resume Next statement becomes inactive when another procedure is called, so you should execute an On Error Resume Next statement in each called routine if you want inline error handling within that routine.

Additional query words: merchant prodcommerce

Keywords: kbprogramming kbprb KB174222

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.