Any program can be faulted, so any language has a mechanism for fault-tolerant processing. In C #, you use a try ... Catch...... Finally this structure. In addition there is a corresponding to the error in VB of a parent class exception.
Try, the meaning of trying, put in the program to deal with some possible errors.
Catch, a catch, an error that is caught in a program with this process.
Finally, the final finishing process, regardless of the procedure is not wrong, we should have some resources to clean up, this is finally the role. As for whether you believe it or not, I believe it anyway.
Again, exception this parent class. Since it is a parent class, there must be some subclasses, for different types of errors must have different subclasses, different classes have different types of attribute descriptions and different processing methods. The development of the program, only through the system itself provides fault tolerance, certainly can not meet a variety of unpredictable to error, therefore, developers can also by throwing exceptions from the error description and processing methods.