Error wrapping

Embedding an error in another error so new operation context and the original programmatic cause remain available together.