René's URL Explorer Experiment


Title: PEP 654 – Exception Groups and except* | peps.python.org

Open Graph Title: PEP 654 – Exception Groups and except* | peps.python.org

Description: This document proposes language extensions that allow programs to raise and handle multiple unrelated exceptions simultaneously:

Open Graph Description: This document proposes language extensions that allow programs to raise and handle multiple unrelated exceptions simultaneously:

Opengraph URL: https://peps.python.org/pep-0654/

direct link

Domain: peps.python.org

color-schemelight dark
og:typewebsite
og:site_namePython Enhancement Proposals (PEPs)
og:imagehttps://peps.python.org/_static/og-image.png
og:image:altPython PEPs
og:image:width200
og:image:height200
theme-color#3776ab

Links:

Pythonhttps://www.python.org/
PEP Indexhttps://peps.python.org/pep-0000/
Discourse threadhttps://discuss.python.org/t/accepting-pep-654-exception-groups-and-except/10813
22-Feb-2021https://mail.python.org/archives/list/python-dev@python.org/thread/L5Q27DVKOKZCDNCAWRIQVOZ5DZCZHLRM/
20-Mar-2021https://mail.python.org/archives/list/python-dev@python.org/thread/MQ2UCSQ2ZC4FIGT7KSVI6BJA4FCXSOCL/
03-Oct-2021https://mail.python.org/archives/list/python-dev@python.org/thread/4B256YKUPW5P2M44GG5H6FBL3PSV6ODP/
Discourse messagehttps://discuss.python.org/t/accepting-pep-654-exception-groups-and-except/10813/1
Abstracthttps://peps.python.org/654#abstract
Motivationhttps://peps.python.org/654#motivation
Rationalehttps://peps.python.org/654#rationale
Specificationhttps://peps.python.org/654#specification
ExceptionGroup and BaseExceptionGrouphttps://peps.python.org/654#exceptiongroup-and-baseexceptiongroup
Subclassing Exception Groupshttps://peps.python.org/654#subclassing-exception-groups
The Traceback of an Exception Grouphttps://peps.python.org/654#the-traceback-of-an-exception-group
Handling Exception Groupshttps://peps.python.org/654#handling-exception-groups
except*https://peps.python.org/654#except
Recursive Matchinghttps://peps.python.org/654#recursive-matching
Unmatched Exceptionshttps://peps.python.org/654#unmatched-exceptions
Naked Exceptionshttps://peps.python.org/654#naked-exceptions
Raising exceptions in an except* blockhttps://peps.python.org/654#raising-exceptions-in-an-except-block
Chaininghttps://peps.python.org/654#chaining
Raising New Exceptionshttps://peps.python.org/654#raising-new-exceptions
Caught Exception Objectshttps://peps.python.org/654#caught-exception-objects
Forbidden Combinationshttps://peps.python.org/654#forbidden-combinations
Backwards Compatibilityhttps://peps.python.org/654#backwards-compatibility
How to Teach Thishttps://peps.python.org/654#how-to-teach-this
Reference Implementationhttps://peps.python.org/654#reference-implementation
Rejected Ideashttps://peps.python.org/654#rejected-ideas
Make Exception Groups Iterablehttps://peps.python.org/654#make-exception-groups-iterable
Make ExceptionGroup Extend BaseExceptionhttps://peps.python.org/654#make-exceptiongroup-extend-baseexception
Make it Impossible to Wrap BaseExceptions in an Exception Grouphttps://peps.python.org/654#make-it-impossible-to-wrap-baseexceptions-in-an-exception-group
Traceback Representationhttps://peps.python.org/654#traceback-representation
Extend except to Handle Exception Groupshttps://peps.python.org/654#extend-except-to-handle-exception-groups
A New except Alternativehttps://peps.python.org/654#a-new-except-alternative
Applying an except* Clause on One Exception at a Timehttps://peps.python.org/654#applying-an-except-clause-on-one-exception-at-a-time
Not Matching Naked Exceptions in except*https://peps.python.org/654#not-matching-naked-exceptions-in-except
Allow mixing except: and except*: in the same tryhttps://peps.python.org/654#allow-mixing-except-and-except-in-the-same-try
try* instead of except*https://peps.python.org/654#try-instead-of-except
Alternative syntax optionshttps://peps.python.org/654#alternative-syntax-options
Programming Without ‘except *’https://peps.python.org/654#programming-without-except
See Alsohttps://peps.python.org/654#see-also
Acknowledgementshttps://peps.python.org/654#acknowledgements
Acceptancehttps://peps.python.org/654#acceptance
Referenceshttps://peps.python.org/654#references
Copyrighthttps://peps.python.org/654#copyright
Exception groupshttps://docs.python.org/3/library/exceptions.html#lib-exception-groups
except* clausehttps://docs.python.org/3/reference/compound_stmts.html#except-star
Raising and Handling Multiple Unrelated Exceptionshttps://docs.python.org/3/tutorial/errors.html#tut-exception-groups
PEP 1https://peps.python.org/pep-0001/
Abstracthttps://peps.python.org/654#abstract
Motivationhttps://peps.python.org/654#motivation
PEP 3134https://peps.python.org/pep-3134/
[1]https://peps.python.org/654#id19
[2]https://peps.python.org/654#id20
[9]https://peps.python.org/654#id27
[3]https://peps.python.org/654#id21
Programming Without ‘except *’https://peps.python.org/654#programming-without-except
[13]https://peps.python.org/654#id31
[4]https://peps.python.org/654#id22
[5]https://peps.python.org/654#id23
[6]https://peps.python.org/654#id24
[7]https://peps.python.org/654#id25
[8]https://peps.python.org/654#id26
Rationalehttps://peps.python.org/654#rationale
[2]https://peps.python.org/654#id20
[9]https://peps.python.org/654#id27
Rejected Ideashttps://peps.python.org/654#rejected-ideas
Specificationhttps://peps.python.org/654#specification
ExceptionGroup and BaseExceptionGrouphttps://peps.python.org/654#exceptiongroup-and-baseexceptiongroup
Subclassing Exception Groupshttps://peps.python.org/654#subclassing-exception-groups
The Traceback of an Exception Grouphttps://peps.python.org/654#the-traceback-of-an-exception-group
Handling Exception Groupshttps://peps.python.org/654#handling-exception-groups
[10]https://peps.python.org/654#id28
except*https://peps.python.org/654#except
Recursive Matchinghttps://peps.python.org/654#recursive-matching
Unmatched Exceptionshttps://peps.python.org/654#unmatched-exceptions
Naked Exceptionshttps://peps.python.org/654#naked-exceptions
Raising exceptions in an except* blockhttps://peps.python.org/654#raising-exceptions-in-an-except-block
Chaininghttps://peps.python.org/654#chaining
Raising New Exceptionshttps://peps.python.org/654#raising-new-exceptions
Caught Exception Objectshttps://peps.python.org/654#caught-exception-objects
Forbidden Combinationshttps://peps.python.org/654#forbidden-combinations
Backwards Compatibilityhttps://peps.python.org/654#backwards-compatibility
How to Teach Thishttps://peps.python.org/654#how-to-teach-this
Reference Implementationhttps://peps.python.org/654#reference-implementation
[11]https://peps.python.org/654#id29
Rejected Ideashttps://peps.python.org/654#rejected-ideas
Make Exception Groups Iterablehttps://peps.python.org/654#make-exception-groups-iterable
Handling Exception Groupshttps://peps.python.org/654#handling-exception-groups
Make ExceptionGroup Extend BaseExceptionhttps://peps.python.org/654#make-exceptiongroup-extend-baseexception
Make it Impossible to Wrap BaseExceptions in an Exception Grouphttps://peps.python.org/654#make-it-impossible-to-wrap-baseexceptions-in-an-exception-group
Traceback Representationhttps://peps.python.org/654#traceback-representation
Extend except to Handle Exception Groupshttps://peps.python.org/654#extend-except-to-handle-exception-groups
alternative proposal to this PEP by Nathaniel J. Smithhttps://discuss.python.org/t/flat-exception-groups-alternative-to-pep-654/10433
A New except Alternativehttps://peps.python.org/654#a-new-except-alternative
Applying an except* Clause on One Exception at a Timehttps://peps.python.org/654#applying-an-except-clause-on-one-exception-at-a-time
Not Matching Naked Exceptions in except*https://peps.python.org/654#not-matching-naked-exceptions-in-except
Allow mixing except: and except*: in the same tryhttps://peps.python.org/654#allow-mixing-except-and-except-in-the-same-try
try* instead of except*https://peps.python.org/654#try-instead-of-except
Alternative syntax optionshttps://peps.python.org/654#alternative-syntax-options
discussion on python-devhttp://groups.google.com/g/dev-python/c/G3p9_jovyus
Programming Without ‘except *’https://peps.python.org/654#programming-without-except
See Alsohttps://peps.python.org/654#see-also
[10]https://peps.python.org/654#id28
[12]https://peps.python.org/654#id30
[3]https://peps.python.org/654#id21
[7]https://peps.python.org/654#id25
Acknowledgementshttps://peps.python.org/654#acknowledgements
Acceptancehttps://peps.python.org/654#acceptance
PEP 654https://peps.python.org/pep-0654/
accepted by Thomas Wouters on Sep 24, 2021http://discuss.python.org/t/accepting-pep-654-exception-groups-and-except/10813
Referenceshttps://peps.python.org/654#references
1https://peps.python.org/654#id1
https://docs.python.org/3/library/asyncio-task.html#asyncio.gatherhttps://docs.python.org/3/library/asyncio-task.html#asyncio.gather
1https://peps.python.org/654#id2
2https://peps.python.org/654#id11
https://trio.readthedocs.io/en/stable/https://trio.readthedocs.io/en/stable/
1https://peps.python.org/654#id4
2https://peps.python.org/654#id17
https://github.com/python-trio/trio/issues/611https://github.com/python-trio/trio/issues/611
4https://peps.python.org/654#id6
https://github.com/python/cpython/issues/74166https://github.com/python/cpython/issues/74166
5https://peps.python.org/654#id7
https://docs.python.org/3/library/atexit.html#atexit.registerhttps://docs.python.org/3/library/atexit.html#atexit.register
6https://peps.python.org/654#id8
https://github.com/pytest-dev/pytest/issues/8217https://github.com/pytest-dev/pytest/issues/8217
1https://peps.python.org/654#id9
2https://peps.python.org/654#id18
https://hypothesis.readthedocs.io/en/latest/settings.html#hypothesis.settings.report_multiple_bugshttps://hypothesis.readthedocs.io/en/latest/settings.html#hypothesis.settings.report_multiple_bugs
8https://peps.python.org/654#id10
https://github.com/python/cpython/issues/85034https://github.com/python/cpython/issues/85034
1https://peps.python.org/654#id3
2https://peps.python.org/654#id12
https://trio.readthedocs.io/en/stable/reference-core.html#trio.MultiErrorhttps://trio.readthedocs.io/en/stable/reference-core.html#trio.MultiError
1https://peps.python.org/654#id13
2https://peps.python.org/654#id15
https://github.com/python/exceptiongroups/issues/3#issuecomment-716203284https://github.com/python/exceptiongroups/issues/3#issuecomment-716203284
11https://peps.python.org/654#id14
https://github.com/iritkatriel/cpython/tree/exceptionGroup-stage5https://github.com/iritkatriel/cpython/tree/exceptionGroup-stage5
12https://peps.python.org/654#id16
https://github.com/python/exceptiongroups/issues/4https://github.com/python/exceptiongroups/issues/4
13https://peps.python.org/654#id5
https://trio.readthedocs.io/en/stable/reference-core.html#nurseries-and-spawninghttps://trio.readthedocs.io/en/stable/reference-core.html#nurseries-and-spawning
Copyrighthttps://peps.python.org/654#copyright
https://github.com/python/peps/blob/main/peps/pep-0654.rsthttps://github.com/python/peps/blob/main/peps/pep-0654.rst
2025-02-01 08:55:40 GMThttps://github.com/python/peps/commits/main/peps/pep-0654.rst
Abstracthttps://peps.python.org/654#abstract
Motivationhttps://peps.python.org/654#motivation
Rationalehttps://peps.python.org/654#rationale
Specificationhttps://peps.python.org/654#specification
ExceptionGroup and BaseExceptionGrouphttps://peps.python.org/654#exceptiongroup-and-baseexceptiongroup
Subclassing Exception Groupshttps://peps.python.org/654#subclassing-exception-groups
The Traceback of an Exception Grouphttps://peps.python.org/654#the-traceback-of-an-exception-group
Handling Exception Groupshttps://peps.python.org/654#handling-exception-groups
except*https://peps.python.org/654#except
Recursive Matchinghttps://peps.python.org/654#recursive-matching
Unmatched Exceptionshttps://peps.python.org/654#unmatched-exceptions
Naked Exceptionshttps://peps.python.org/654#naked-exceptions
Raising exceptions in an except* blockhttps://peps.python.org/654#raising-exceptions-in-an-except-block
Chaininghttps://peps.python.org/654#chaining
Raising New Exceptionshttps://peps.python.org/654#raising-new-exceptions
Caught Exception Objectshttps://peps.python.org/654#caught-exception-objects
Forbidden Combinationshttps://peps.python.org/654#forbidden-combinations
Backwards Compatibilityhttps://peps.python.org/654#backwards-compatibility
How to Teach Thishttps://peps.python.org/654#how-to-teach-this
Reference Implementationhttps://peps.python.org/654#reference-implementation
Rejected Ideashttps://peps.python.org/654#rejected-ideas
Make Exception Groups Iterablehttps://peps.python.org/654#make-exception-groups-iterable
Make ExceptionGroup Extend BaseExceptionhttps://peps.python.org/654#make-exceptiongroup-extend-baseexception
Make it Impossible to Wrap BaseExceptions in an Exception Grouphttps://peps.python.org/654#make-it-impossible-to-wrap-baseexceptions-in-an-exception-group
Traceback Representationhttps://peps.python.org/654#traceback-representation
Extend except to Handle Exception Groupshttps://peps.python.org/654#extend-except-to-handle-exception-groups
A New except Alternativehttps://peps.python.org/654#a-new-except-alternative
Applying an except* Clause on One Exception at a Timehttps://peps.python.org/654#applying-an-except-clause-on-one-exception-at-a-time
Not Matching Naked Exceptions in except*https://peps.python.org/654#not-matching-naked-exceptions-in-except
Allow mixing except: and except*: in the same tryhttps://peps.python.org/654#allow-mixing-except-and-except-in-the-same-try
try* instead of except*https://peps.python.org/654#try-instead-of-except
Alternative syntax optionshttps://peps.python.org/654#alternative-syntax-options
Programming Without ‘except *’https://peps.python.org/654#programming-without-except
See Alsohttps://peps.python.org/654#see-also
Acknowledgementshttps://peps.python.org/654#acknowledgements
Acceptancehttps://peps.python.org/654#acceptance
Referenceshttps://peps.python.org/654#references
Copyrighthttps://peps.python.org/654#copyright
Page Source (GitHub)https://github.com/python/peps/blob/main/peps/pep-0654.rst?plain=1

Viewport: width=device-width, initial-scale=1.0


URLs of crawlers that visited me.