開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Python (プログラミング言語)
Learning Python (Mark Lutz (著)、Oreilly & Associates Inc)のPART VII.(Exceptions and Tools)、CHAPTER 34(Exception Coding Details)、Test Your Knowledge: Quiz 1, 2, 3, 4, 5.を解いてみる。
その他参考書籍
Test Your Knowledge:
- 例外を捕捉する。
-
- try/except
- try/finally
- 例外を発生させる。
- テスト用。
- 自動的に開始、終了する。
コード(BBEdit)
sample.py
#!/usr/bin/env python3
#-*- coding: utf-8 -*-
try:
print('start try')
raise TypeError('raise TypeError')
print('end try')
except Exception as err:
print(type(err), err, err.args)
finally:
print('finally')
assert True
try:
assert False, 'assert data'
except Exception as err:
print(type(err), err, err.args)
class A:
def __enter__(self):
print('enter')
def __exit__(self, exec_type, exec_value, exec_tb):
print('exit', exec_type, exec_value, exec_tb)
with A() as a:
print('with/as statement')
with A() as a:
raise Exception("with/as statement2")
入出力結果(Terminal)
$ ./sample.py
start try
<class 'TypeError'> raise TypeError ('raise TypeError',)
finally
<class 'AssertionError'> assert data ('assert data',)
enter
with/as statement
exit None None None
enter
exit <class 'Exception'> with/as statement2 <traceback object at 0x10ab7f848>
Traceback (most recent call last):
File "./sample.py", line 30, in <module>
raise Exception("with/as statement2")
Exception: with/as statement2
$
0 コメント:
コメントを投稿