iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 20
0
自我挑戰組

Framework 設計原則系列 第 20

Exception之我的前世今生例外之路

從一開始寫Java程式

還不了解Exception精隨之前

我對於Exception的處理只有try-cache

cache之後就不做任何事了....

只是一種不想讓程式出錯的鴕鳥心態

後來國華跟我說了一些Exception的應用之後

我開始大量運用Exception來建立一堆不屬於正常流程下的例外事件

在過去,一個回傳bool的mehtod,成功完成就丟true,失敗就丟false

但是失敗有可能是很多原因造的,可能是傳入的參數本來就有問題,或是做到一半出錯

這時候客戶會要求是否能夠顯示失敗原因,不然都不知道怎麼改了!!

當時愚蠢的我,自以為聰明的把回傳的bool改成其他物件像這樣

public class Result{
    public bool IsSuccess {get; set}
    public string ErrorMessage {get; set}
}

如此一來就有ErrorMessage可以顯示了!!真是好棒棒阿我

然後就開始改程式。。。。。

如果我早一點認識Exception的話。。。。。

前面的文章有提到,使用Exception可以增加程式的可讀性

Exception可以告訴我們程式執行的過程中發生了什麼事

最常遇到的就是NullPointException,沒有物件

IndexOutOfRangeException告訴你陣列長度沒有你想要的那麼長

前面也說了,傳入參數如果不符合預期的

請適當的丟出ArgumentNullException or ArgumentOutOfRangeException

究竟~Exception要怎麼使用才能讓工程師使用者們知道現在到底發生什麼事?

要丟出去還是要在這裡就接收處理呢???

下回開始,由Exception挑大樑主演的極短篇5集偶像劇

同一時間敬請期待~


上一篇
Member Design (8) - Operator Overloads
下一篇
Exception(2) - throw exception
系列文
Framework 設計原則30

1 則留言

我要留言

立即登入留言