Sharing

2011年11月1日 星期二

Python 學習手冊第三版筆記 (七)


CH.27 例外事件基礎

with/as 環境管理器的敘述滿難懂的,感覺大部份的 with/as 都可以用 try/finally 實作完成,但好處似乎是物件可以事先把對 exception 的處理定義好,ex: 檔案碰到 exception 時會自動關閉,等到別人使用你的物件時,只要透過 with/as 就可以正確的處理 exception ,而不需要讓每個人都煩惱 "如果遇到 exception ,我是否需要去關檔?"

CH.28 例外事件物件

類別式例外事件的概念在 Java 中已發展的很完全,這讓我覺得原作者果然很懶惰 :P 所以只想用最簡單的方式來處理 Exception,不過看的出來 Python 在這部份的設計很明顯的不敷使用,也間接造成了光是 raise 就有很多種奇怪怪的寫法,書的作者也只能嘆氣囉! 這就是 Design 或是架構在一開始沒有設計好的後遺症

CH.29 例外事件的設計


>>> help(sys.exc_info)
Help on built-in function exc_info in module sys:

exc_info(...)
    exc_info() -> (type, value, traceback)
    
    Return information about the most recent exception caught by an except
    clause in the current stack frame or in an older stack frame.



>>> help(os.popen)
Help on built-in function popen in module nt:

popen(...)
    popen(command [, mode='r' [, bufsize]]) -> pipe
    
    Open a pipe to/from a command returning a file object.

>>> help(os.system)
Help on built-in function system in module nt:

system(...)
    system(command) -> exit_status
    
    Execute the command (a string) in a subshell.


PyDoc 、 PyChecker、PyUnit 好用的三大工具!


看到這裡我終於把這本書都讀完囉!

沒有留言: