Artwork

Contenuto fornito da Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. Tutti i contenuti dei podcast, inclusi episodi, grafica e descrizioni dei podcast, vengono caricati e forniti direttamente da Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa o dal partner della piattaforma podcast. Se ritieni che qualcuno stia utilizzando la tua opera protetta da copyright senza la tua autorizzazione, puoi seguire la procedura descritta qui https://it.player.fm/legal.
Player FM - App Podcast
Vai offline con l'app Player FM !

Episode 6 - An Exceptional Episode

1:31:25
 
Condividi
 

Manage episode 394079798 series 3522009
Contenuto fornito da Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. Tutti i contenuti dei podcast, inclusi episodi, grafica e descrizioni dei podcast, vengono caricati e forniti direttamente da Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa o dal partner della piattaforma podcast. Se ritieni che qualcuno stia utilizzando la tua opera protetta da copyright senza la tua autorizzazione, puoi seguire la procedura descritta qui https://it.player.fm/legal.

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/

  continue reading

15 episodi

Artwork

Episode 6 - An Exceptional Episode

core.py

14 subscribers

published

iconCondividi
 
Manage episode 394079798 series 3522009
Contenuto fornito da Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. Tutti i contenuti dei podcast, inclusi episodi, grafica e descrizioni dei podcast, vengono caricati e forniti direttamente da Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa o dal partner della piattaforma podcast. Se ritieni che qualcuno stia utilizzando la tua opera protetta da copyright senza la tua autorizzazione, puoi seguire la procedura descritta qui https://it.player.fm/legal.

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/

  continue reading

15 episodi

Tutti gli episodi

×
 
Loading …

Benvenuto su Player FM!

Player FM ricerca sul web podcast di alta qualità che tu possa goderti adesso. È la migliore app di podcast e funziona su Android, iPhone e web. Registrati per sincronizzare le iscrizioni su tutti i tuoi dispositivi.

 

Guida rapida