開発環境
- 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 コメント:
コメントを投稿