I consider fatal errors to be when your application can’t do any more useful work. Non-fatal errors are when there’s a problem but your application can still continue to function, even at a reduced level of functionality or performance.
Examples of fatal errors include:
- Running out of disk space on the logging device and you’re required to keep logging.
- Total loss of network connectivity in a client application.
- Missing configuration information if no default can be used.
Non-fatal errors would include:
- A server where a single session fails for some reason but you can still service other clients.
- An intermittent error, such as lost session, if a new session can be established.
- Missing configuration information if a default value can be used.