<p>What is best practice when creating your exception classes in a .NET solution: To derive from <code>System.Exception</code> or from <code>System.ApplicationException</code>?</p>

```
ApplicationException
```
considered useless
is a strong, and critical, argument against
```
ApplicationException
```
.
Upshot: don't use it. Derive from
```
Exception
```
.