[add] specialised exception PatternNotCompiledException extends InvalidStateException extends LogicException
[comment] ocd
[refactor] mark all base Exception classes abstract and rename them accordingly