in-progress work on converting detectable/recoverable error situations to avoid use of exceptions (since they are slow)