Best Error Handling in VBScript or in UFT

Error Handling in VBScript or in UFT:

Errors are something which is a resultant of deviation from the assumption or requirement or rules via code. It may happen due to syntax mismatch, invalid user input or unavailability of system resources.

We have two types of Errors in VB Script; they are VBScript Run-time Errors and VBScript Syntax Errors

VBScript Run-time Errors

VBScript run-time errors are errors that result when our VBScript script attempts to perform an action that the system cannot execute. VBScript run-time errors occur while our script is being executed; when variable expressions are being evaluated, and memory is being dynamic allocated.

VBScript Syntax Errors

VBScript Syntax errors are errors that result when the structure of one of our VBScript statements violates one or more of the grammatical rules of the VBScript scripting language. VBScript syntax errors occur during the program compilation stage before the program has begun to be executed.

Errors in VBScript or UFT are broadly classified as

  • Syntax Error
  • Runtime Error
  • Logic Error

Syntax Error aka Compilation Error

Every language follows a set of guidelines, rules, semantics etc. VBscript is also a language which has a set of rules, guidelines, semantics. Before or during executing a piece of code, VBScript engine checks the piece of code for the validity of those by parsing them and converting into tokens. In case VBScript engine encounters an unrecognizable code or expression, it flags the line as a syntax error.

VBscript halts the code execution due to the syntax error. VBScript engine reads the script file and tries to parse the code by converting into meaningful tokens. During this process, if the VBScript engine finds some unacceptable code format due to unrecognizable structure or expressions, it points out this as compilation error or Syntax error.

A syntax error is often coined as

  • Pre-processor error
  • Compilation error
  • Compile-time error

Example of Syntax error:

Dim myMarks
If (myMarks>60)
msgbox "Kudos you got 1st division"
End If

Error: Expected Then

Now as the WSH provides clear error details, it is very easy to detect and rectify the Syntax errors.

VBscript does not support conditional compilation(an ability to execute different code base on different environments)

Why Syntax Error Occurs?

Below are the prime reasons why Syntax Error happens:

  • If we miss providing mandatory structure information(like keywords, blocks, commas, parenthesis etc)
  • Spelling mistake while using variables, procedures calls, function calls or expressions.
  • Keywords related to other Microsoft tools(Excel, VBA etc) which are not supported by VBScript.
  • Functions related to other Microsoft tools(Excel, VBA etc) which are not supported by VBScript. Mostly these functions need to be defined before using.
  • VBScript has backward compatibility hence versions generally do not play a major role in a Syntax error. But Script written in higher VBScript version may not work well in the lower VBScript versions.
  • Dynamic code generation and execution create a huge problem in VBScript(command like ExecuteGlobal, Execute or Eval needs extra care).
Common Syntax Error with Error code a Description


Hexadecimal Error CodeDecimal Error CodeComments
800A03E91001“Out of memory” error.
800A040F1039“Invalid ‘exit’ statement” error.
800A03EA1002“Syntax” error.
800A04101040“Invalid ‘for’ loop control variable” error
800A03ED1005“Expected ‘(‘ ” error.
800A04111041“Name redefined” error.
800A03EE1006“Expected ‘)’ ” error.
800A04121042“Must be the first statement on the line” error.
800A03F21010“Expected identifier” error.
800A04141044“Cannot use parentheses when calling a Sub” error.
800A03F31011Expected ‘=’ error.
800A03F41012Expected ‘If’ error.
800A04151045“Expected literal constant” error.
800A03F51013“Expected ‘To’ ” error.
800A04161046“Expected ‘In’ ” error.
800A03F61014“Expected ‘End’ ” error.
800A04181048“Must be defined inside a Class” error.
800A04171047“Expected ‘Class’ ” error.
800A03F71015“Expected ‘Function’ “error.
800A04191049“Expected Let , Set , or Get in property
declaration” error.
800A03F81016“Expected ‘Sub’ ” error.
800A03F91017“Expected ‘Then’ ” error.
800A041A1050“Expected ‘Property’ ” error.
800A03FA1018“Expected ‘Wend’ ” error.
800A041B1051“Number of arguments must be consistent across properties specification” error
800A03FB1019“Expected ‘Loop’ ” error.
800A041C1052“Cannot have multiple default property/method in a Class” error,
800A03FC1020“Expected ‘Next’ ” error.
800A041D1053“Class initialize or terminate do not have arguments” error.
800A03FD1021“Expected ‘Case’ ” error.
800A041E1054“Property Set or Let must have at least one argument” error.
800A03FE1022“Expected ‘Select’ ” error.
800A041F1055“Unexpected ‘Next’ ” error.
800A03FF1023“Expected expression” error.
800A04211057” ‘Default’ specification must also specify ‘Public’ ” error.
800A04001024“Expected statement” error.
800A04221058” ‘Default’ specification can only be on property Get” error.
800A04011025“Expected end of statement” error.
800A04021026“Expected integer constant” error.
800A04031027“Expected ‘While’ or ‘Until’ ” error.
800A04041028“Expected ‘While’, ‘Until’, or end of statement” error.
800A04051029“Expected ‘With’ ” error.
800A04061030“Identifier too long” error.
800A04071013“Invalid number” error.
800A04081014“Invalid character” error.
800A04091015“Undermined string constant” error
800A040A1034“Undermined comment” error.
800A040D1037“Invalid use of ‘Me’ keyword” error.
800A040E1038“‘loop’ without ‘do’ “error.
800A03EB1003“Expected:” error.
800A040E1007“Expected ]” error
800A040E1031“Invalid number” error
800A040E1043“Can not assign to non-ByVal argument” error
800A04201056“Default’ can be specified only on ‘Property’ or ‘Function’ or ‘sub’ ” error
Tips and Tricks of Error Handling in VBScript or in UFT
Tips and Tricks of Error Handling in VBScript or in UFT

Runtime Error:

A runtime error occurs when we try to perform a command on an invalid action. These codes get compiled as there is not a Syntax error but failed in the runtime and generate a Runtime error. Runtime errors are not the same as Syntax errors. Here the source information always is “Microsoft VBScript runtime error.”

Runtime errors are not easily detected during the development time of the script.

Why runtime error occurs?

  • Based on certain security option’s enabled or disabled property.
  • The used components are either down or not available.
  • The execution platform may be different or other than script developed environment.
  • Mismatch in script configuration.
  • The executing box may be under tremendous stress or load.

Runtime errors can be classified as:

  • Non VBScript Runtime error
  • Native VBScript runtime error
  • Variable declaration related due to Option Explicit runtime error.

Non-VBScript Runtime Error

These runtime errors are not generated by the VBScript engine. They are generated by some other components which are attached to VBScript.

Like ADO,ActiveX,DataObject etc..

Common Non-VBScript Runtime error codes:

Sl noExpressionMeaning
18007XXXXWindows error
2800AXXXXADO Error
38005XXXADSI Error
See also  Which is better Xpath or DOM?

Native VBScript Runtime Error

Native VBScript runtime error happens when the user performs some illegal operations. Mostly these errors are recorded and stored in VBScript Engine.
These errors happen when:

  • One performs wrong arithmetic operations.
  • Read from a database having a null value
  • Keep reading even after the control reached at the End of File.
  • Wrongly used Null in the expressions.
Example of Native Runtime Error

Option Explicit
Dim myVar
msgbox "The result is"+ myVar

Error-Division by zero

Example of Native Runtime Error

Dim myVar
msgbox "The result is"+ myVar

Error-Invalid Use of Null

Errors Related to Option Explicit

Option explicit can be a very good tool during the development of the scripts. It acts as a safeguard against accidental spelling mistakes while working with Variables or a strange error which can not be viewed in naked eyes.

Option Explicit also refers to a variable that has not been declared. So if we get a runtime error for option explicit statement that “variable is undefined”.We need to check the declaration of the variables.

Example of Error due to Option Explicit

Option Explicit
Dim index
For index=0 to 10
If(index=5) Then
Msgbox myVar
msgbox index
End If

This code will work fine till Index=4. As soon as the index becomes 5, the VBScript engine will throw an error stating myVar variable is undefined. Now if we examine our code carefully, we can see the variable myVar has never been declared.

When running a script,Option Explicit is neutralized and error is not caught but if a general error handler module is available, it will help us to defect the error and where the error has occurred.

How to avoid the Runtime Error

Since Runtime is critical than Syntax error, we need to understand how to avoid a Runtime error. Below are the guideline to avoid the runtime error.

  • We need to be well versed with VBScript syntax, rules.
  • We need to carefully read the documentation for functions or sub before working with them.
  • If we get some different, not so well stated error messages or errors like Unspecified errors or Operations aborted or Error occurred etc. we need to surrender to Google. Daddy google has all kind of answer for any sort of problem.
  • The last option is to use a trial and error method. Once we get the different type of solutions from Google we need to apply these techniques in our script.
  • We need to use comments while we fix those errors so that we can later understand the purpose of the code we just inserted to our script.
Common Runtime Errors with Error Code and Description


Hexadecimal Error CodeDecimal Error CodeComments
800A00055“Invalid procedure call / Invalid argument” error.
800A00066“Stack overflow” error.
800A00077“Out of memory” error.
800A00099“SubScript out of Range” error.
800A000A10Array related error -“already locked or fixed” error.
800A000B11“Division by zero” error.
800A000D13“Type mismatch” error
800A000E14“String out of space” error.
800A001117“Can’t perform requested operation” error.
800A001C28“Stack out of space” error.
800A01A8424“Object required” error
800A01AD429“ActiveX component can’t create object” error.
800A01AE430“Class doesn’t support Automation” error.
800A01B0432“Filename or class name not found during
Automation operation” error.
800A002335“Function or sub not defined” error.
800A003048“Error in loading DLL” error
800A003351“Internal” error
800A01B6438“Object doesn’t support this property or method” error.
800A01BD445“Object doesn’t support this action” error.
800A01BF447“Object doesn’t support current locale setting” error.
800A01C0448“Named argument not found” error.
800A01C1449“Argument not optional” error.
800A01C2450“Wrong number of arguments or invalid property assignment” error
800A01C3451“Object not a collection” error.
800A01CA458“Variable uses an Automation type not supported in VBScript” error.
800A01CE462“Remote server machine does not exist or is unavailable” error.
800A01E1481“Invalid picture” error.
800A01F4500“Variable is undefined” error.
800A01F6502“Object not safe for scripting” error.
800A005B91“Object variable not set” error.
800A005E94“Invalid use of Null” error
800A005C92“For loop not initialized” error
800A01F7503“Object not safe for initializing” error.
800A01F8504“Object not safe for creating” error.
800A01F9505“Invalid or unqualified reference” error.
800A01FA506“Class not defined error”.
800A01FB507“An exception occurred error.
800A13905008“Illegal assignment” error.
800A13995017“Syntax error in regular expression”
800A139A5018“Unexpected quantifier” error
800A139B5019Expected ‘]’ in regular expression error.
800A139C5020“Expected  ‘)’ in regular expression” error.
800A139D5021“Invalid range in character set” error.
800A003452“Bad file name number” error.
800A003553“File not found” error.
800A003654“Bad file mode” error.
800A003755“File already open” error.
800A003957“Device I/O error” error.
800A003A58“File already exists” error.
800A003D61“Disk full” error.
800A003E62“Input past end of file” error.
800A004367“Too many files” error.
800A004468“Device unavailable” error.
800A004670“Permission denied” error.
800A004771“Disk not ready” error.
800A004A74“Can’t rename with different drive” error.
800A004B75“Path/File access error” error.
800A004C76“Path not found” error.
800A0142322“Can not create necessary temporary file” error.
800A01B8440“Automation” error.
800A01BE446“Object does not support named arguments” error.
800A01C5453“Specified DLL function not found” error.
800A01C7455“Code resource lock error” error.
800A01C9457“This key is already associated with an element of this collection” error.
800A01F5501“Illegal assignment” error.
800A13985016“Regular expression object required” error.
800A802B32811“Element not found” error.

Logic Errors

Logic errors are very tough to determine especially if a person debugs who never wrote the script. Logic errors are hidden inside our code and generally do not have a User Interface to show up. The only area we understand logic error when the piece of the code generates a wrong output. The output is different from what is desired. Otherwise, we can say that logic errors are bugs in the application.

How to avoid logic errors?

  • We need to read the design specification, requirement documentation to understand the functionality and then inspect the code if that is doing what it is supposed to do.
  • We need to follow “Divide and Develop” principal and implement stub and drivers in order to design our script sequentially correct.
  • Check the code logic while using operators. or sendkeys.
  • Use Custom runtime in different places.
  • Testing is important to detect logic errors.

How to handle VBScript Errors in UFT or VBScript Editor?

VBScript does not support try-catch block to handle the error or exceptions, instead, it supports to provide a Global error handling mechanism. However, once the error occurs, VBScript engines invoke its internal error handling mechanism.

There are two strategies what we can do with the error:

  • Fix it and get rid of the error
  • Handle it

What is the Global Error Handling Scheme in VBScript/UFT?

The Global Error Handling Scheme includes:

  • Display the error alert
  • Logging mechanism
  • Email the error
  • Better code design in the error-prone area
  • Use of Err object
  • On Error Statement
Display the error alert

In this mechanism, the VBScript engine displays the error as an alert form. For standalone and small script it serves it purpose but not very effective while scripts are running in a batch mode. It often asks to hide the error. If the error could not be hidden, the execution stops and waits for the alert to be closed. This is a major pain point while running scripts in nightly mode or CDCTCI mode.

Logging mechanism

This is a nice feature to log the error to a different file instead of the display as an alert. The different file can be a flat file or an XML or a database or window event log. This process is hugely used in the current automation scenarios but very laid back or reactive approach.

See also  Why Really should You Analyze Web Programming?
Email the error

This mechanism puts a little dynamic behaviour to the error handling as the moment VBScript encounters an error an email gets triggered /fired to the specified group mentioned earlier. The group can decide the fate of the error then and there.

Better code to handle the error phone area

As and when automation gets matured, the automation engineers can decide where to put an extra set of code to protect known error. This extra set of code put a safety net around the risky code. This approach takes some time to mature and has no immediate implementation. This scheme also greatly depends on the code’s experience.

Use of Err Object

Err is an intrinsic object that has global scope. As a result, it is always available with VBScript Engine in the script. There is an Err object always in the memory. We do not need declare and initialize it. As it is already available and attached to our script, we do not need to create one using CreateObject() to create an Err. We also do not need to have a variable to hold this object.

Initially, the Err properties are

  • Zero-length Strings
  • zero

Once the err gets generated via runtime error, Err. Number contains an integer

Err object holds useful information about the error that occurs during script execution.

The Err objects provide us with the following properties:

  • Number– It provides the error information that occurred last.
  • Description-It returns a set of the descriptive string associated with an error. By default, it is a zero-length string.
  • Source- It provides the last known component name from where the error occurred. It provides a class name or progID.
  • Help File– It provides the path of the help file that is associated with Windows help file.
  • Help Context– It provides a unique identifier if the error associated with a window help file. It is used very rarely.

The Err object also provides two methods:

  • Clear()- This method clears or erases all properties of an Err object. So it makes Err a zero-length String or make it as 0.
  • Raise()-This method helps us to generate a custom runtime error.
Error Number
ErrErr ObjectErr Object
filePathIntegerOption pointing to a help file
Error Description syntax
ErrErr ObjectErr Object
StrngExpressionStringError description
ErrErr ObjectErr Object
StrngExpressionStringAn application that generates the error.
Help File
ErrErr ObjectErr Object
filePathIntegerOption pointing to a help file
Help Context
ErrErr ObjectErr Object
contextIDIntegerOption pointing to a help topic

Details of Clear Method

The clear method has the following strategy to clear an Err object

  • On Error Statement
  • Exit Sub
  • Exit Function

Syntax of a clear method

On Error Statement

On Error is kind of an alternative to try-catch. An upgraded error handling mechanism for VBScript or UFT among all other mechanisms.

On Error statement has two flavours

  • On Error Goto Next
  • On Error GoTo 0
On error GoTo Next

As the name suggests, it suppresses all the errors and transfers the control to the next line. It just tells the VBScript engine to ignore the errors. It suppresses the errors from the whole script (from functions, subs, classes etc). It feels very good to see that the scripts we have written do not have any error but this is very risky in the real-time scenario. We have to be very sure about the error before suppressing the same.

On Error Goto Next /On Error Resume Next can be localized just like a variable. This isolates the problem area from the remaining script.

On Error GoTo 0

While On Error Resume Next temporarily disables the error reporting, On Error GoTo 0 immediately enable error reporting. However, even though it is very useful but the automation team uses it very rarely.

Option Explicit
Dim myVar
On Error Resume Next
If(Err.Number=0) Then
msgbox "No error" +myVar
End If
on Error GoTo 0
private function getValueFromFlatFile()
Err.Raise VbObjectError+1000,"getValueFromFlatFile","An error has occured"
End Function
private Sub myDisplayError()
msgbox "An error has occured"
End Sub

This code On Error Resume Next and On Error GoTo 0 acts as try-catch block(used to handle error or exception in advanced languages).The code block expects an error from the getValueFromFlatFile() function and traps that.
Err. Number property is responsible for displaying relevant error information about the displaying error.

The guideline for setting up a trap or SafetyNet around the risky Code

  • We can use On Error Resume Next just before the risky code.
  • The risky code produces an ErrNumber as soon as the error occurs. If no error occurs it produces 0(zero).
  • If an error occurs, we need to handle by any mean by using a loop or using email sending feature.
  • Once the error is handled properly, we need to transfer the control back to its normal mode by On Error GoTo 0 statement.


  • VBScript does not have a generic way of handling Error Exception(just like the Exception class in Java).
  • We can set up multiple error trap to catch multiple errors.
  • Generally, we use Wscript.Quit() method to stop the further execution of the script if we receive an error.
  • In place of WScript.Quit() function we can also call any custom cleanup methods per our need. This is kind of finally block of java.
  • In UFT/QTP we tend to put error handling code in respective functions, which logs and displays the sequential error message. This approach is often criticized as a poor or bad design principal.

What if We do not use Error trapping technique?

In this case, Wscript host(WHS) will take control and will display an error when it occurs. This technique gets visible with a popup which will not be doing all cleanup operations.

The popup mostly not self-closing hence may stop the batch execution. This is also a major roadblock of unattended execution while moving towards CDCTCI to DevOps. Hence it is considered a very inefficient technique.

However during the debugging process, to understand the error better, I would suggest not to trap the error info. Instead, display it in a user-friendly manner using Error objects various properties like

  • Description
  • Number
  • Source

The upgraded way to move forward and implement CDCI or DevOps is to log the error message to a file by implementing logger functionality in a cleanup function.

VBScript Custom Error

VBScript also provides an option to generate a custom error. This feature enables us to react to an error in a user-friendly manner. When we do scripting, we consider several opportunities which may fail the script. We call them assumptions. Using code we try to cover as many assumptions as possible. These assumptions become rules or requirements for us. If in a case, we can not convert directly by code, we create a custom error.I n general, all possible cases need to be coded.

The syntax for custom error:

The Err.Raise() method enables us to simulate errors when we test our error handlers.


Err.Raise() method takes five arguments

  • Err.Number- The range of custom error number is between 0 to 65535. However, 0 is not used in many cases as sometimes developer treats o as not an error.
  • Err.Source- This is an optional parameter indicating the origin of the error.
  • Err. Description-This is also an optional parameter indicating additional information about the error. (It is treated as Metadata about the error.)
  • Helpfile-If the error corresponds to a VBScript helpfile, this info is displayed. We need to provide the path of the help file.
  • HelpContext-
  • If the error corresponds to a VBScript help file, this info is displayed. We need to provide the path of the help file.

In a script, if there are two consecutive errors come, the first error is overwritten by the second error. To get the correct error reporting it is good to clear the Err object.

If Err>0 then
Err.Description="A description that matches custom error"
Mylogger.log(Err.Number & Err.Description)
//this is just to log the Error
End if

VBScript engine will automatically execute Clear() method when it encounters On Error Resume Next statement or Exit Sub or Exit Function statements .

See also  9 Frequently Faced Issues for QTP or UFT with Detailed Solutions

When we should use Err.Raise() method?

Error information helps the coders to understand the actual issue. If in case Err.Raise() is used, it will automatically display the masked error message not the original error message. This will make the developers job tough. They will not be able to detect the original issue. Hence during development Err.Raise() should not be used but in production, it should be used.

It is important for us to identify the difference between error and problem statement. While using Custom error we need to provide nice, easy to understand the message to the user. Otherwise, the purpose to use custom, the user-defined error goes in vain.

Rules to generate Custom message:

  • Do not use rude or harsh words.
  • Use nice words to communicate the error in a descriptive way.
  • Try providing a solution or a pointer on how to solve the current issue.
  • Apologize for the error.
  • Try putting code to recover from the error.

The objective of custom error is to communicate the user that the person has done something against the basic assumption of the code.

Capture or Not to Capture an Error

It is also a very important to point to decide if we need to capture the error or we should not capture in the script. If we are building small utility to automate something and the script will not be part of the larger framework, we often do not capture the error.

But if you are building a script that will be part of the automation framework, we need to capture the Error messages. It only not only help in debugging but also help us to understand the root cause of the error.

How to Correct Error 80004005

Mistake 80004005 is most likely one of the most aggravating items at any time to be flashed on your computer monitor. Most laptop errors are really particular to a variety of software’s or functions. Mistake 80004005, however, appears to be an alternatively generic mistake code as it has a tendency to pop up for all types of explanations.

The error could occur thanks to trouble with VBScript. This is a computer system script similar to Javascript. Microsoft utilizes VBScript to interface with a variety of web capabilities like conserving passwords. You can try to take care of the difficulty to start with by making positive that you might be on the administrative account and without the need for limitations. If you obtain that you are by now on these types of configurations, then it might be that your firewall is not making it possible for the web site entry.

A further time the error will manifest is when it has complications connecting. You may possibly get error information that says you will find a login failure, or it may say anything like “SQL Permissions Trouble”. Possibilities are that this is another mistake in permissions. The will cause for this connectivity challenge can selection vastly in the place the authorization challenge is coming into participating in. Spend notice to the verbiage the error display. It will hopefully give you hints on exactly where to start trouble capturing.

You could have enter information improperly, triggering the 80004005 mistakes. For instance, if you get this error right after making an attempt to submit facts with figures like a mobile phone number or a social security selection, consider going again and coming into them as strings as a substitute of straight figures. For occasion, alternatively of putting a telephone range like 5551234, but 555-1234.

Error 80004005 may possibly occur up whilst you might be striving to log in to your immediate messenger. The very first thing to do if this transpires is to examine and see if you’ve got obtained the latest edition. Most quick messengers do regular updates with new features and script. Older versions can quickly become obsolete. It is really a good concept to update each time prompted to do so, and just about every so usually (each and every couple of months) go to the immediate messenger’s internet site to see if there is certainly a newer edition you could be applying.

A further thing to try if you might be provided with the mistake code while working with an instantaneous messenger is to delete the cache information affiliated with it. Relying on which messenger you happen to be employing and which version of Home windows, this may be completed any of a handful of ways, so do a rapid search for actual particulars supplied the versions you are operating with.

And finally and most popular, if you have a world-wide-web protection plan (e.g. parental command, antivirus) there may be corrupted documents. Use a tool that quickly fixes corrupted information and registry entries.

Correcting Home windows Registry Errors With a Registry Cleaner

While testing VbScript or playing with VbScript we often corrupt the registry. In this case, we need a solution to come to our primary settings. Struggling with registry glitches usually is a widespread dilemma for Home windows buyers. From time to time it is challenging even to trace that the dilemma is linked with the registry.

You might be contemplating that how does the personal computer come to be gradual mainly because of the registry! When you install packages and hardware into your computer system and each individual time you do this it places an entry in the Home windows registry. But when you no for a longer period will need that system and uninstall it, Windows won’t delete the entry.

And the additional time when setting up and uninstall systems and components it provides much more entries and far more entries. So now the personal computer has to go through all these entries to discover what it is seeking.

This makes a number of challenges like –

  • Slow boot uptime
  • You expertise sluggish pc general performance from the personal computer even with lower source consumes computer software.
  • Blue display screen makes you black!
  • You see mistakes in scripts.
  • Kernal32 dll error
  • Anything pop-outs showing runtime error
  • Microsoft VBScript mistake
  • Slow web speed
  • whilst searching you see 404 mistake

These are some pretty widespread glitches that relate to the home windows registry. The resolution is clear sweep the registry to make it no cost from overpowering invalid entries. It’s doable for a specialist to do that manually but if you are not a specialist “do not consider it at home”! Any mistaken try can conclude up to anything incredibly messy. The safest way is to use a registry cleaning instrument which is professionally developed to carry out.

There is a whole lot of merchandise in the current market. Quite a few of them are totally free. Make a search on the web, you will find plenty of them. Now-a-times quite a few antivirus products and solutions as well anti-spyware products are which includes registry cleaner into their deal.


Share and Enjoy !

224 thoughts on “Best Error Handling in VBScript or in UFT

  1. Pingback: Google
  2. Ahaa, its pleasant dialogue regarding this article at this place at
    this website, I have read all that, so now me also commenting at this place.

Leave a Reply

Your email address will not be published. Required fields are marked *