2013年1月15日火曜日

開発環境

『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のVII部(オブジェクト指向プログラミング)の27章の練習問題4を解いてみる。

その他参考書籍

4.

コード(BBEdit)

sample.py

#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-

def f(x): # 条件を満たさない場合に例外を発生させる
    assert x != 0, "エラー!"

def g(x): # ifとraiseでassertと同じことをする
    if __debug__:
        if x == 0: raise AssertionError("エラー!")

if __name__ == '__main__':
    x =0
    for func in [f, g]:
        try:
            func(x)
        except:
            import sys
            for i in sys.exc_info():
                print(i)

入出力結果(Terminal)

$ ./sample.py
<class 'AssertionError'>
エラー!
<traceback object at 0x102a7d5f0>
<class 'AssertionError'>
エラー!
<traceback object at 0x102a7d638>
$

ちなみにJavaScriptの場合。

コード(BBEdit)

var result = "";
try{
  throw "例外発生!";
  result += "tryブロック終了\n";
} catch (e){
  result = e;
} finally {
  $('#pre0').text(result);
}







						

0 コメント:

コメントを投稿