Last Updated: May 22, 2026
When you catch a low-level error and raise a higher-level one, the original cause matters. Was it a missing key in a dict? A timed-out connection? A bad JSON payload? Python tracks two error layers automatically and lets you control how they're linked through the raise ... from ... syntax. This chapter is about that link: why it exists, how to use it, and how to read the resulting traceback.