The test runner will often encounter an error that could be the result of an error that occurred in Python, or it could be an error object produced by afw. In order to differentiate between the two and get a meaningful, parseable error report from the runner, we can no longer simply shove them all into a generic raise Exception() call.
Instead, the afw errors should throw more specific exceptions that can also store away the actual error object, so that the runner can except this type of Exception and access the stored object for reference.
The test runner will often encounter an error that could be the result of an error that occurred in Python, or it could be an error object produced by afw. In order to differentiate between the two and get a meaningful, parseable error report from the runner, we can no longer simply shove them all into a generic
raise Exception()
call.Instead, the afw errors should throw more specific exceptions that can also store away the actual error object, so that the runner can
except
this type of Exception and access the stored object for reference.