Description
Currently only DuplicateChildError exists as a custom exception. All other errors use generic ValueError or TypeError, making it difficult for users to catch specific failure modes.
Proposed Change
Add a proper exception hierarchy:
HierConfigError (base)
├── DriverNotFoundError (replaces ValueError in get_hconfig_driver)
├── InvalidConfigError (for malformed config text)
├── DuplicateChildError (already exists, reparent under HierConfigError)
└── IncompatibleDriverError (for WorkflowRemediation with mismatched drivers)
Breaking Change
Yes — DuplicateChildError moves under HierConfigError, and code catching ValueError from get_hconfig_driver() would need updating.
Description
Currently only
DuplicateChildErrorexists as a custom exception. All other errors use genericValueErrororTypeError, making it difficult for users to catch specific failure modes.Proposed Change
Add a proper exception hierarchy:
Breaking Change
Yes —
DuplicateChildErrormoves underHierConfigError, and code catchingValueErrorfromget_hconfig_driver()would need updating.