2005/03
html hit counter

Joshsoft Old Blogs 

Exception Safety 並非遙不可及

3/26, 12:04 PM

由於4/1要去台大考試,我到台鐵網站上去訂車票。回程所訂到的莒光號有點兒太晚,所以我決定試試早一點的班次還有沒有座位(4個)。在這之前,我竟然把本來訂到的莒光號給取消掉了!

繼續訂票,卻發現早一點的班次都沒了座位,於是我只好退而求其次,想訂原來的那班莒光號,不料台鐵訂票系統竟然說「座位已滿」?!我才剛取消耶!最後以一班時間差不多、但票價貴了1XX元的自強號做結。

所有讀過exception safety的人都知道,若要做到commit-or-roll-back的safety層級,在成功取得資源(訂到車票)之前,絕對不能先行釋放已有的資源(取消莒光號),否則一旦無法取得資源,就無法回覆。而我卻一個不小心,犯下了這個錯誤。顯然自己還得再對exception safety下點工夫才行啊XD

返回主頁面
3/26Exception Safety 並非遙不可及