小牛电子书 > 其他电子书 > VB2008从入门到精通(PDF格式英文版) >

第50章

VB2008从入门到精通(PDF格式英文版)-第50章

小说: VB2008从入门到精通(PDF格式英文版) 字数: 每页3500字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




          will throw an exception only if something really problematic has occurred。 A big problem is  

          beyond the scope of the IterateBuffers() method; and thus needs to be handled at a higher  

          level。 Think of it as the situation where you have a criminal case and the local municipal court  

          automatically delegates the case to the provincial or state level; because those courts are equipped  

          to deal with such a case。 


…………………………………………………………Page 155……………………………………………………………

                                CH AP T E R   5   ■    L E AR N IN G   AB O U T   V I SU A L   B AS IC   E X CE PT I ON   HA N D L IN G 133 



Processing Errors That Are Warnings 



One of the silliest things that programs do is exit when they could have continued working。 It  

reminds me of when my family lived on the French Rivera; where it does not rain too often。 Our  

two bulldogs were used to the nice weather; and at the slightest hint of moisture in the air; they  

would refuse to go outside。 Our male dog Big Boss (Man) would stand in the doorway; stick his  

nose out slightly; and take a few deep breaths。 If he sensed the slightest bit of moisture; instantly  

you were dragging an 80…pound concrete block。 

     The point is that; like our bulldogs; programs sometimes overreact to situations。 For fear  

of having problems or not doing something correctly; they instantly shut down。 

     Let’s say that you have a program that requires a configuration file to run。 What happens  

when the configuration file does not exist? One approach is to panic and exit。 The panic approach  

will work; but what if multiple problems follow from the first one? Then you are painstakingly  

hitting one error after another。 Another approach is to use a default action。 In this example; the  

default action could be to display a dialog box asking the user to select a configuration file; or  

the program could create a default file; as in this example: 



Try  

    LoadConfiguration() 

Catch ex As ConfigurationException 

     CreateDefaultConfiguration() 

End Try 



     Here; the  LoadConfiguration() method is in a Try/Catch block; but the Catch block  

catches only ConfigurationException failures (a built…in Visual Basic exception)。 If there is a  

ConfigurationException failure; then a default configuration is created。 With a default config

uration; the program can continue processing。 Using the filtering capabilities of exceptions; if  

another exception is thrown in  LoadConfiguration(); then some higher…level exception  

handler will process it。 

     When processing an error that is a warning; the important steps are to filter for the specific  

exception and implement an appropriate exception handler that has been properly tested。 Don’t  

try to implement a fix…all exception handler; because you will never be able to implement a  

proper handler and thus will cause more problems。 In the handler to fix the problem; make  

sure that you don’t generate an exception。 If you do; that exception will be sent to a higher  

method caller。 



The Important Stuff to Remember 



In this chapter; you learned about errors and exceptions。 Here are the key points to keep in mind: 



     o  Errors and exceptions will always occur in your programs。 



     o  Your code is split into a tree very much like a management hierarchy。 The hierarchy  

        contains two types of code: code that organizes and code that implements。  



     o  Exceptions are caught using Try/Catch blocks。 



     o  The Finally block is used to execute code; regardless of whether an exception is thrown;  

        and to reset state。 


…………………………………………………………Page 156……………………………………………………………

134       CH AP T E R   5   ■    L E A R N IN G   AB OU T   V I SU A L   B AS IC   E X C E P TI ON   H AN D L IN G 



               o  Code that implements has the responsibility of throwing exceptions。 Code that imple

                  ments does not try to fix or swallow the exception。 This means code that implements will  

                  implement a  Finally block to reset state; but usually not a Catch block。 



               o  Code that organizes has the responsibility of being aware that exceptions might occur。  

                  This means code that organizes will implement Catch blocks to catch exceptions and  

                  process them。 Usually; this code will not have a  Finally implementation; but it may  

                  filter exceptions。 



               o  Exceptions can be filtered to determine which exceptions will be captured and which  

                  cannot be captured。 



               o  You can help make your code exception…safe by implementing sandboxing  

                  functionality。 



               o  Implement default state so that your code is easier to read and maintain。 



           Some Things for You to Do 



           To apply what you’ve learned in this chapter; here’s what you can do; summed up in a single step: 



                1。  Rewrite all of the code examples in Chapter 4 to be exception…safe。 


…………………………………………………………Page 157……………………………………………………………

C  H  A  P  T  E  R     6 



■ ■ ■ 



Learning the Basics of Object

Oriented Programming 



At this point; you should be fortable with writing basic Visual Basic code; but your coding  

style would solve problems directly without considering reusability or other more advanced  

concepts。 You could code yourself out of a wet paper bag; but once you were out of the bag; you  

would have no idea what to do next。 (In case you’re interested; the phrase; “You couldn’t do 'fill  

in topic' out of a wet paper bag” implies that your skills in a certain area are so weak that a wet  

paper bag is more overpowering。 The reference to wet paper bag es from the fact that wet  

paper bags have no holding power and will tear at the slightest nudging。) 

     This chapter focuses on reusing base functionality; where two classes share methods and  

properties in mon to solve a particular problem。 To demonstrate the concepts; we will create  

a simple currency exchange application。 This application will use object…oriented programming;  

a powerful set of techniques mon in modern programming languages such as Visual Basic。 

     In this chapter; you’ll learn about the following topics: 



     Object…oriented programming: Object…oriented; often abbreviated as OO; refers to a way of  

     building applications using instantiated types。 First; you define the type and its behavior。  

     Then; when instantiated; the type has a state。 When you are developing; you don’t know  

     the state of the object; so you can only guess at it。 



     Data member scopes: Types have methods; and methods can be called by other types。 But  

     do you want to let all types call all of a type’s methods? Think of it as follows。 When you are  

     at a party; do you want to allow everyone to grab into your pockets? No; you want to control  

     access to your pockets; just as you want to control access to your type’s methods。 



     Properties: There are methods; and there are properties。 Methods are supposed to do things  

     to a type。 Properties are external state representations of a type。 



     Base classes: The term base class denotes mon functionality。 We use the word  base;  

     because in object…oriented programming; hierarchy is defined from the base upwards。 We  

     use the word class; because class is the basic type that contains functionality。 



     Let’s begin with some background on how currency exchange works; which applies to the  

currency converter application we’ll develop in this chapter to demonstrate object…oriented  

programming concepts。 



                                                                                                           135 


…………………………………………………………Page 158……………………………………………………………

136  

返回目录 上一页 下一页 回到顶部 2 2

你可能喜欢的