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/

Podden och tillhörande omslagsbild på den här sidan tillhör Pablo Galindo and Łukasz Langa. Innehållet i podden är skapat av Pablo Galindo and Łukasz Langa och inte av, eller tillsammans med, Poddtoppen.