Tuesday, June 28, 2005

assert 與 exception 使用時機

assert 用在 class 的 private method 中,用以檢查 class 自己的 internal state 是否正確。assert 也可用於同一 translation unit 內的 function 中。在這兩種情況,private method 或 function 被呼叫到的可能性是可自己掌握的,使用 assert 不會造成其他 client 的不快。

exception 用在 class 的 public method 中,因 public method 無法掌握被使用的時機與方式,若被呼叫時 internal state 有問題,則擲出 exception 告知 client 使用錯誤。exception 亦可用來檢查傳入之參數合法與否,若 public method 無法處理 client 傳入之參數,即擲出異常。上述擲出 exception 情形皆屬 severe,倘若傳入之參數合法,public method 正常運作,但因外部環境問題造成錯誤狀況發生,這時則可採傳回 error code,讓 client 以 error handling 方式處理錯誤。

Wednesday, June 22, 2005

My OpenSolaris Build

花了點時間看 document,整個環境的設定也頗繁瑣,不過第一步總是踏出去了。在我的 Ultra 80 (Quad CPU, 4G RAM) 上花了總共兩個半小時,build 完後整個 workspace 將近 2G。


==== Total build time ====

real 2:38:22


==== Elapsed build time (DEBUG) ====

real 2:27:12.6
user 5:42:02.8
sys 53:47.9

Tuesday, June 14, 2005

不散

前兩天看了大導演的片子,整部片我只懂兩個地方。一個是楊貴媚撿鞋子後又出現,屬於黑色幽默;另一個是重頭到尾沒交集的售票員跟放映師,直到最後也只能見著背影,則是一種遺憾。

售票員發現放映師未抽完的香菸,但是卻沒動壽桃,因此將壽桃拿了回去,這時心情應該是生氣的。但是在離開戲院時,卻又將電鍋和壽桃一併留了下來,應該是想把這份情感就此留在戲院裡。結果到了最後放映師追出去時,才發現,原來售票員還在等最後一個見面的機會。


我想起月下,我想起花前,多少的往事留在我心田
一半是辛酸,一半是甜蜜,一年又一年長教我留戀