diff options
author | Zachary Ware <zachary.ware@gmail.com> | 2014-05-06 14:07:51 (GMT) |
---|---|---|
committer | Zachary Ware <zachary.ware@gmail.com> | 2014-05-06 14:07:51 (GMT) |
commit | 4e6688d2b29183cae7796b2459a5b87143c3e36f (patch) | |
tree | 6b800904a2e1140657d5f465f0a61a96dd66fd91 /Doc/reference | |
parent | b8ac3e1a205c79a37dbb7365a87b498e194eebdd (diff) | |
parent | 8edd532026c10816e055b14d5999b6d93540fc6e (diff) | |
download | cpython-4e6688d2b29183cae7796b2459a5b87143c3e36f.zip cpython-4e6688d2b29183cae7796b2459a5b87143c3e36f.tar.gz cpython-4e6688d2b29183cae7796b2459a5b87143c3e36f.tar.bz2 |
Issue #21366: Document the fact that ``return`` in a ``finally`` clause
overrides a ``return`` in the ``try`` suite.
Diffstat (limited to 'Doc/reference')
-rw-r--r-- | Doc/reference/compound_stmts.rst | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst index 4e03711..869eef4 100644 --- a/Doc/reference/compound_stmts.rst +++ b/Doc/reference/compound_stmts.rst @@ -337,6 +337,20 @@ statement, the :keyword:`finally` clause is also executed 'on the way out.' A reason is a problem with the current implementation --- this restriction may be lifted in the future). +The return value of a function is determined by the last :keyword:`return` +statement executed. Since the :keyword:`finally` clause always executes, a +:keyword:`return` statement executed in the :keyword:`finally` clause will +always be the last one executed:: + + >>> def foo(): + ... try: + ... return 'try' + ... finally: + ... return 'finally' + ... + >>> foo() + 'finally' + Additional information on exceptions can be found in section :ref:`exceptions`, and information on using the :keyword:`raise` statement to generate exceptions may be found in section :ref:`raise`. |