Episode 6 - An Exceptional Episode
Episode 6 of the core.py podcast, hosted by Pablo Galindo and Łukasz Langa, titled "Episode 6 - An Exceptional Episode" was published on January 8, 2024 and runs 91 minutes.
January 8, 2024 ·91m · core.py
Summary
Happy New Year! In this episode we're talking about exceptions, how they work, and how they evolved. Expect the unexpected. # Timestamps (00:00:00) INTRO (00:01:43) How does a 'try' block work? (00:04:00) How many 'try' blocks can you fit on a bus? (00:05:56) How does Python store the current exception? (00:09:30) Pre-history: exceptions as strings (00:12:59) Try out string exceptions with CentOS 5 (00:14:28) PEP 341: Combining 'finally' and 'except' in one 'try' block (00:16:15) Core Hacker in Residence (00:16:51) PEP 3109: Raising exceptions in Python 3K (00:19:17) Automatic tuple unpacking for raised exceptions?! (00:21:55) PEP 3110: Catching exceptions in Python 3K (00:26:00) Foreshadowing: exception groups (00:27:10) PEP 3134: Exception chaining (00:29:12) __cause__, __context__, __traceback__ (00:31:50) Back in the day we had to walk uphill both ways (00:32:56) PEP 409: Suppressing exception chaining (00:34:44) Raise from None? Or raise from Ellipsis? (00:37:11) __supress_context__ (00:38:13) Semantic difference between 'pass', 'None', and '....' (00:41:02) NotImplemented vs NotImplementedError (00:43:02) Zero-cost exceptions in Python 3.11 (00:51:12) Reconstructing exception table entries dynamically (00:52:51) Objects/exception_handling_notes.txt (00:54:19) PEP 654: Historical context (00:56:58) PEP 654: BaseExceptionGroup and ExceptionGroup (00:58:29) PEP 654: except* (01:03:23) PEP 678: Exception notes (01:06:09) PEP 657: Cooler Errors (01:08:36) A message to language implementers (01:09:15) Fine-grained error locations in tracebacks (01:12:05) This is useful for tracing coverage and Specializator (01:13:50) Hacker in Residence fired? (01:16:25) WHAT'S GOING ON IN CPYTHON (01:16:58) Copy&patch JIT PR open (01:21:30) Free-threading progress: GC split, stop-the-world (01:24:22) The buildbots are red (01:25:27) Faster CPython changes: interpreter code generator refactors (01:26:27) Eval Game crash fix (01:28:41) Three developers in residence! (01:29:54) OUTRO # Links https://compilercrim.es/rust-np/
Episode Description
Happy New Year! In this episode we're talking about exceptions, how they work, and how they evolved. Expect the unexpected.
# Timestamps
(00:00:00) INTRO
(00:01:43) How does a 'try' block work?
(00:04:00) How many 'try' blocks can you fit on a bus?
(00:05:56) How does Python store the current exception?
(00:09:30) Pre-history: exceptions as strings
(00:12:59) Try out string exceptions with CentOS 5
(00:14:28) PEP 341: Combining 'finally' and 'except' in one 'try' block
(00:16:15) Core Hacker in Residence
(00:16:51) PEP 3109: Raising exceptions in Python 3K
(00:19:17) Automatic tuple unpacking for raised exceptions?!
(00:21:55) PEP 3110: Catching exceptions in Python 3K
(00:26:00) Foreshadowing: exception groups
(00:27:10) PEP 3134: Exception chaining
(00:29:12) __cause__, __context__, __traceback__
(00:31:50) Back in the day we had to walk uphill both ways
(00:32:56) PEP 409: Suppressing exception chaining
(00:34:44) Raise from None? Or raise from Ellipsis?
(00:37:11) __supress_context__
(00:38:13) Semantic difference between 'pass', 'None', and '....'
(00:41:02) NotImplemented vs NotImplementedError
(00:43:02) Zero-cost exceptions in Python 3.11
(00:51:12) Reconstructing exception table entries dynamically
(00:52:51) Objects/exception_handling_notes.txt
(00:54:19) PEP 654: Historical context
(00:56:58) PEP 654: BaseExceptionGroup and ExceptionGroup
(00:58:29) PEP 654: except*
(01:03:23) PEP 678: Exception notes
(01:06:09) PEP 657: Cooler Errors
(01:08:36) A message to language implementers
(01:09:15) Fine-grained error locations in tracebacks
(01:12:05) This is useful for tracing coverage and Specializator
(01:13:50) Hacker in Residence fired?
(01:16:25) WHAT'S GOING ON IN CPYTHON
(01:16:58) Copy&patch JIT PR open
(01:21:30) Free-threading progress: GC split, stop-the-world
(01:24:22) The buildbots are red
(01:25:27) Faster CPython changes: interpreter code generator refactors
(01:26:27) Eval Game crash fix
(01:28:41) Three developers in residence!
(01:29:54) OUTRO
# Links
Similar Episodes
No similar episodes found.