[Python-checkins] peps: Style updates to PEP 409.

georg.brandl python-checkins at python.org
Sun Jan 29 09:41:12 CET 2012


http://hg.python.org/peps/rev/c1ed6327769a
changeset: 4028:c1ed6327769a
user: Georg Brandl <georg at python.org>
date: Sun Jan 29 09:41:13 2012 +0100
summary:
 Style updates to PEP 409.
files:
 pep-0409.txt | 78 +++++++++++++++++++++------------------
 1 files changed, 42 insertions(+), 36 deletions(-)
diff --git a/pep-0409.txt b/pep-0409.txt
--- a/pep-0409.txt
+++ b/pep-0409.txt
@@ -14,51 +14,54 @@
 Abstract
 ========
 
-One of the open issues from PEP 3134 is suppressing context: currently there is
-no way to do it. This PEP proposes one.
+One of the open issues from PEP 3134 is suppressing context: currently
+there is no way to do it. This PEP proposes one.
+
 
 Motivation
 ==========
 
-There are two basic ways to generate exceptions: 1) Python does it (buggy code,
-missing resources, ending loops, etc.); and, 2) manually (with a raise
-statement).
+There are two basic ways to generate exceptions: 1) Python does it
+(buggy code, missing resources, ending loops, etc.); and, 2) manually
+(with a raise statement).
 
-When writing libraries, or even just custom classes, it can become necessary to
-raise exceptions; moreover it can be useful, even necessary, to change from one
-exception to another. To take an example from my dbf module:
+When writing libraries, or even just custom classes, it can become
+necessary to raise exceptions; moreover it can be useful, even
+necessary, to change from one exception to another. To take an
+example from my dbf module::
 
 try:
 value = int(value)
 except Exception:
 raise DbfError(...)
 
-Whatever the original exception was (ValueError, TypeError, or something else)
-is irrelevant. The exception from this point on is a DbfError, and the original
-exception is of no value. However, if this exception is printed, we would
-currently see both.
+Whatever the original exception was (ValueError, TypeError, or
+something else) is irrelevant. The exception from this point on is a
+DbfError, and the original exception is of no value. However, if this
+exception is printed, we would currently see both.
 
 
 Alternatives
 ============
+
 Several possibilities have been put forth:
 
- - raise as NewException()
+- ``raise as NewException()``
 
- Reuses the 'as' keyword; can be confusing since we are not really reraising
- the originating exception
+ Reuses the 'as' keyword; can be confusing since we are not really reraising
+ the originating exception
 
- - raise NewException() from None
+- ``raise NewException() from None``
 
- Follows existing syntax of explicitly declaring the originating exception
+ Follows existing syntax of explicitly declaring the originating exception
 
- - exc = NewException(); exc.__context__ = None; raise exc
+- ``exc = NewException(); exc.__context__ = None; raise exc``
 
- Very verbose way of the previous method
+ Very verbose way of the previous method
 
- - raise NewException.no_context(...)
+- ``raise NewException.no_context(...)``
 
- Make context suppression a class method.
+ Make context suppression a class method.
 
 All of the above options will require changes to the core.
 
@@ -66,17 +69,18 @@
 Proposal
 ========
 
-I proprose going with the second option:
+I proprose going with the second option::
 
- raise NewException from None
+ raise NewException from None
 
-It has the advantage of using the existing pattern of explicitly setting 
-the cause:
+It has the advantage of using the existing pattern of explicitly
+setting the cause::
 
- raise KeyError() from NameError()
+ raise KeyError() from NameError()
 
-but because the 'cause' is None the previous context is discarded. There is a
-patch to this effect attached to issue 6210 [#issue6210]_.
+but because the 'cause' is None the previous context is discarded.
+There is a patch to this effect attached to issue 6210 [#issue6210]_.
+
 
 References
 ==========
@@ -84,17 +88,19 @@
 .. [#issue6210]
 http://bugs.python.org/issue6210
 
+
 Copyright
 =========
 
 This document has been placed in the public domain.
 
-
+
+
 ..
- Local Variables:
- mode: indented-text
- indent-tabs-mode: nil
- sentence-end-double-space: t
- fill-column: 70
- coding: utf-8
- End:
+ Local Variables:
+ mode: indented-text
+ indent-tabs-mode: nil
+ sentence-end-double-space: t
+ fill-column: 70
+ coding: utf-8
+ End:
-- 
Repository URL: http://hg.python.org/peps


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /