exception translation
Wrapping done at a boundary between layers, so each layer throws exceptions in its own terms.
The lower layer's exception is caught where it would cross into the higher layer and rethrown as the higher layer's type, always with the original as its cause.
See also