- Milestone: 5.0 --> Unplanned
SDK Core should get a clear strategy for the different types (base classes) of exceptions. The current approach is hard to grasp. For example, Fundamental exceptions could "sometimes" be catched and handled. Anoter example is that Software Violations is generated both in situations when the Dob is corrupt and when its not.
Maybe we should consider to get distinct exceptions for the following cases.
(1) An exception that can meaningfully be handled by application code.
(2) A fundamental exception that indicates that the application has a bug or is misconfigured but the Dob is in a consistent state.
(3) A fundamental exception that indicates that the Dob itself is in a potentially inconsistent state.
Case (2) implies that the application should be terminated and the code and/or the configuration fixed.
Case (3) implies that the whole system, that is, all nodes must be terminated.
Both case (2) and (3) are currently signalled via a SoftwareViolation and the User's Guide doesn't really tell the whole story just recommending to terminate the application.