i don't think you were the one that started the pattern but this exception catching feels like a pretty blunt instrument to catch specific problems. it might be totally clear how the code works now, but then someone might add `some_long_function_that_does_a_bunch_of_work()` somewhere in the workflow and then legitimate errors raised in that function would get trapped here when that might not be the desired check. in this case, if we are going to gracefully handle this failure mode we should either explicitly check the `domain` and `doc_type` and just fail in an `if` statement or we should raise a more specific type of exception.