[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