When your program throws an exception, it's easy enough to use a TryCatch block to catch the exception and examine it to determine its class. When you want to throw your own exception, however, you must know what exception classes are available so that you can pick the right one.
The following table lists some of the most useful exception classes in Visual Basic .NET. You can raise one of these when you need to throw an error.
The program could not figure out which overloaded object method to use.
This is the ancestor class for all nonfatal application errors. When you build custom exception classes, you should inherit from this class, or from one of its descendants.
An argument is invalid.
An argument that cannot be Nothing has value Nothing.
An argument is out of its allowed range.
An arithmetic, casting, or conversion operation has occurred.
The program tried to store the wrong type of item in an array.
A configuration setting is invalid.
A data operation violates a database constraint.
The ancestor class for ADO.NET exception classes.
A needed directory is missing.
The program ...