開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)
- Script言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のVII部(例外)の27章(例外の基礎知識)練習問題1を解いてみる。
その他参考書籍
2.
- try/except/else
- try/except/finally
- try/finally
というような種類がある。
コード(TextWrangler)
sample.py
#!/usr/bin/env python
#-*- coding: utf-8 -*-
def f(n):
try:
print("try/except/elseステートメント開始")
a = 10 / n
print("tryブロック終了")
except:
print("例外発生")
else:
print("elseブロック")
def g(n):
try:
print("try/finallyステートメント開始")
a = 10 / n
print("tryブロック終了")
finally:
print("finallyブロック")
def h(n):
try:
print("try/except/finallyステートメント開始")
a = 10 / n
print("tryブロック終了")
except:
print("例外発生")
finally:
print("finallyブロック")
入出力結果(Terminal)
$ python
Python 3.2.3 (default, Apr 18 2012, 20:17:30)
[GCC 4.2.1 Compatible Apple Clang 3.0 (tags/Apple/clang-211.12)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from sample import f,g,h
>>> f(0)
try/except/elseステートメント開始
例外発生
>>> f(1)
try/except/elseステートメント開始
tryブロック終了
elseブロック
>>> g(0)
try/finallyステートメント開始
finallyブロック
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "sample.py", line 17, in g
a = 10 / n
ZeroDivisionError: division by zero
>>> g(10)
try/finallyステートメント開始
tryブロック終了
finallyブロック
>>> h(0)
try/except/finallyステートメント開始
例外発生
finallyブロック
>>> h(10)
try/except/finallyステートメント開始
tryブロック終了
finallyブロック
>>> quit()
$
0 コメント:
コメントを投稿