Overhaul entity exception handling
Created by: Florian Spreckelsen
Instead of dynamically generated and changing exception types, all exceptions linked to transcations with faulty or missing entities should first raise a TransactionError that may have direct and indirect children representing the errors that caused the transaction to fail. Missing/faulty entities can be found at the leaves of this tree of errors.
E.g. attempting to insert a record the record type of which is missing will result in a TransactionError that has an UnqualifiedParentsError as a child which in turn has an EntityDoesNotExistError as a child which shows the missing RecordType as the causing entity.
This rewriting of the exception handling is of course related to the error output in #23 and #30 (closed).
Imported comments:
By Florian Spreckelsen on 2020-07-08T14:33:41.508Z
mentioned in issue #33 (closed)
By Florian Spreckelsen on 2020-07-07T15:04:40.528Z
mentioned in merge request !33 (merged)