What is the difference between System exceptions and Application exceptions?
All exception is derived from Exception Base class. Exceptions are generated programmatically or can be generated by the system. Application Exception served the base class for all application specific exception classes. It derives from Exception but do not provide any extended functionality. We should derive our custom application exceptions from the Application Exception.
Application exception is used when we want to define user defined exception, while system exception is all defined by .NET.
Figure: Exception Hierarchy