Vbscript Ppt 3

Share Embed Donate


Short Description

Download Vbscript Ppt 3...

Description

Envision , Evolve, Unleash

VB Script

Error Handing and Debugging by Srinivas Malkapeta & Prasanna

Agenda

• Error Handling Error Handing is the programmer’s line of defense against this inherent unpredictability.The term error handing refers not only to how a program responds when an error occurs, but also to how it prevents errors from happening in the first place.

• Debugging Debugging, as the name suggests, is the process of detecting, locating, and removing bugs from a program.

Types of Errors

• Syntax Errors: Syntax errors will halt the execution of the script.

• Runtime Errors:

Runtime errors will invoke an error  handler, giving you the opportunity to do something about the erroror at least display it attractively.

• Logic Errors:

Logical errors will most commonly contaminated data in your application, cause strange behavior for  users and administrators, and often cause other errors to occur.

Syntax Errors Before the script is run, the scripting engine parsers all of the code,converting it into tokens.When an unrecognizable structure or  an expression is encountered, a syntax error is generated. Syntax errors tend to popup in several circumstances: • When something is missing from the code-parentheses, keywords (especially in blocks), statement elements, or when the keyword are are simply out of place. • When a keyword is misspelled or used incorrectly • When you try to use a Visual Basic or VBA keyword or function that is not implemented by VBScript • When you use keywords that are not not supported by a particular  version of the scripting engine (certain keywords may be phased out, and others added)

Runtime Errors •





This is the most common type of error is the runtime error. A runtime error occurs when a command attempts to perform an action that is invalid. In that the offending code looks syntactically fine to the script engine. Some kind of problem when it is executed. That is, the error does not necessarily appear while you are programming, but rather when you or one of your users is running the script. It divided into three categories: » Native VBScript runtime errors. » Non-VBScript runtime errors. » Variable declaration runtime errors related to the Option Explicit Explicit directive.



Result is same in 3 cases: an error occurs while the script is running. What differs the 3 types is: » What causes an error. » How an error could be prevented.

Runtime Errors



Native VBScript runtime errors: This raises an error where something that computers don’t like; dividing by zero



Non-VBScript runtime errors”: Runtime errors will often come from other sources (scripting hosts, MSADO comp. any script can use err. raise method. The method of dealing with non-VBScript runtime errors is the same as Native VBScript runtime errors. Ideally the error msg itself will give you enough information to make the cause of the error. Ex:.For MS-ADO specified table is not existed.



Variable declaration declaration runtime errors errors related to the Option Option Explicit directive For VBScript Prgmer, it is difficult to detect errors that can result from misspellings of variable names and mistakes related to a variable’s scope.

Logical errors

•  You can think of logic errors as hidden errors. In general it will not produce any kind of err msg. Instead, a logic error will produce what programmers usually call “undesirable results”. For ex: Sales tax calculations. Miscalculated sales tax can even cause serious legal and financial problems. •

We can prevent some logical errors by clear cut of requirements and design specifications, and some more logical log ical errors can still creep into code. Make Make use of “plus” operator instead of “minus” or some other operator which is actually have to use.



Another preventative preventative measure against logic errors is what w hat is known as defensive programming. It is about checking assumptions about the expected program flow and either  1. generating runtime errors 2. Including extra code



Particularly complex problems in the form of procedures, functions, classes and so on.

Error Visibility and Context

A key aspect of understanding understanding and managing managing runtime runtime errors in knowledge of where your code is running and what happens when an error occurs. Later we we will discuss “error handling” techniques, which can be used to catch errors when they t hey occur and control what happens after that point. • Windows Script Host Errors • Server-Side ASP Errors • Client-Side VBScript Errors in Internet Explorer 

WSH(Windows Script Host Errors)



WSH has an automatic error display mechanism. With human operator sitting infront of the computer. If an error occurs, WSH displays it in a dialog box and the human operator decide what to do at that point. without a human operator, you can control to some degree what happens when an error occurs instead of using WSH’s default error display mechanism. The section Handling errors with various techniques.

Server-Side ASP Errors A server-side ASP error can occur when IIS is processing ASP code. Client-Side VBScript Errors in Internet Explorer:

Handing Errors

Approach to responding errors. » Displaying the error to a user. » Logging the error to a file, database, or the t he WEL » E-mailing the error to SA. » Paging the SA » Some combination of all this •

The Err Object



Using the On Error Statements



Presenting and Logging Errors



Server-Side ASP Errors

The Err Object

3.

It is an “intrinsic object with global scope. Always with vbscript code no need to declare a variable to hold an Err object and no need to instantiate it using CreateObject or New. Exactly one Err obj in memory all time . The Error object contains information about the last error  that occurred. The object has two tw o methods. Clea Clearr met meth hod . ( the the las lastt er erro rorr is is thr throw own n awa away y)

Err Object is additionally cleared by any of the following On error resume next, On error goto 0,Exit sub, Exit function 2. Raise method. ( which you can use in your your VBScript code to generate custom runtime errors. Some main properties to display the information of error are: Description, Number, Source, HelpFile, HelpContext

Using the On error Statements •

Usually by default WSH displays error for script. Checking errors at runtime switch is On every time by using on error resume re sume next switch is off ,if off ,if any error that occurs will essentially be ignored. Means it is globally supresses errors for your entire script including procedures, functions, classes. But we can propose the following two rules. • Unless you have a very good reason, never suppress all errors by simply placing the On Error Resume next statement at the top of your script. • On error Resume Next statement to temporarily disable error reporting, make sure you use a corresponding On Error GoTo 0 statement to enable it again. (If you do not follow the above statement then, without realizing it, suppress error later in your script.

Logging Errors



Beyond displaying the error, you have other options as well. In fact, if your script runs unattended, you might not want to display the error at all since there is no one sitting there to click the OK button. One of the most popular techniques is to log the error to a file, a database, or the Windows Event Log, or e-mail to sys admin, or  page to the sys admin.

Generating Custom Errors



Provides ability to “raise” errors yourself. Any vbscript code you write can at any time stop execution and generate an error. The key to this ability is the raise method of the Err object

• Using Err.Raise • When Not to Use Err.Raise • When to Generate Custom Errors

Using Err.Raise •

It is always available for global scope. That means you can refer to it any time you want without having to declare a variable for it. Syntax is: Err. Raise (number, source, description, helpfile, helpcontext) Ex: Err. raise vbObjectError+ 10000,_ “ MyScript.myFuntion”,” MyScript.myFuntion”,” the Age arg of Myfunc may not be greater than 150.” Error number between 0 and 65535, 0 as the absence of an error. Adding vbobjecterror to your error num makes sure your error  num will not clash with “official microsoft error numbers.

When to Generate and Not to Custom Error 

Not to Generate Ex: err.raise vbObjectError+15000, “ERR_MSG_UGLY.VBS”, “Hey, stupid, you can’t enter a zero! It will w ill “ & “cause a divide by zero error!” To Generate Ex: err.raise vbObjectError+15000, “ERR_MSG_NICE.Dividenumbers()”, “ERR_MSG_NICE.Dividen umbers()”, “Divison by zero not allowed”

Debugging

What is Debugging?

Debugging

Options for Debugging VBScript Code

Debugging

Debugging without a Debugger 

Debugging

Debugging WSH Scripts with the Microsoft Script Debugger 

Debugging

Debugging Client-Side Web Scripts with the Microsoft Script Debugger 

Debugging

Debugging ASP with the Microsoft Script Debugger 

Debugging

Using the Microsoft Script Debugger 

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF