Skip to Content
Python 技術手冊 第三版
book

Python 技術手冊 第三版

by lex Martelli, Anna Martelli Ravenscroft, Steve Holden
January 2018
Intermediate to advanced content levelIntermediate to advanced
856 pages
17h 17m
Chinese
GoTop Information, Inc.
Content preview from Python 技術手冊 第三版
178
|
5 章 例外
一個
try
述句在結尾的
finally
子句之前,可以有多個
except
子句,以及
選擇性的一個
else
子句。在所有的變體中,效果永遠都像上面所展示的
那樣,也就是說,跟內嵌一個
try/except
述句一樣,所有的
except
子句及
else
子句(如果有的話)都被放到一個
try/finally
述句中。
with 述句和情境管理器
with
述句是一種複合述句,具有下列語法:
with expression [as varname]:
statement(s)
with
的語意等同於:
_normal_exit = True
_manager = expression
varname = _manager.__enter__()
try:
statement(s)
except:
_normal_exit = False
if not _manager.__exit__(*sys.exc_info()):
raise
# 如果 _ _exit_ _ 回傳一個真值,例外就不會傳播
finally:
if _normal_exit:
_manager.__exit__(None, None, None)
其中
_manager
_normal_exit
是沒有在目前範疇中其他地方使用的任意的
內部名稱。如果你省略了
with
子句選擇性的
as varname
部分,Python
然會呼叫
_manager.__enter__()
,但不會將結果繫結至任何名稱,並且仍
然會在區塊結束時,呼叫
_manager._ ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

測試驅動開發|使用 Python

測試驅動開發|使用 Python

Harry J.W. Percival
Linux 内核观测技术BPF

Linux 内核观测技术BPF

David Calavera, Lorenzo Fontana

Publisher Resources

ISBN: 9789864766819