Appendix O

Useful Exception Classes

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.

For more information on error handling, see Chapter 18, “Error Handling,” and Appendix F.


The following table lists some of the most useful exception classes in Visual Basic .NET. You can use one of these when you need to throw an error.

AmbiguousMatchException The program could not figure out which overloaded object method to use.
ApplicationException 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.
ArgumentException An argument is invalid.
ArgumentNullException An argument that cannot be Nothing has the value Nothing.
ArgumentOutOfRangeException An argument is out of its allowed range.
ArithmeticException An arithmetic, casting, or conversion operation has occurred.
ArrayTypeMismatchException The program tried to store the wrong type of item in an array.
ConfigurationException A configuration setting is invalid.
ConstraintException A data operation violates a database constraint.
DataException The ancestor class for ADO.NET exception classes.
DirectoryNotFoundException A needed ...

Get Visual Basic 2012 Programmer's Reference now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.