何時使用異常

2021-09-01 03:24:04 字數 700 閱讀 5169

異常處理將錯誤處理**從正常的程式設計任務中分離出來,這樣,可以使程式更易修改。但是,應該注意,由於異常需要初始化新的異常物件,需要從呼叫棧返回,而且還需要沿著方法呼叫鏈來傳播異常以便找到它的異常處理器,所以,異常處理通常需要更多的時間和資源。

異常出現在方法。如果想讓該方法的呼叫者處理異常,應該建立乙個異常物件並將其丟擲。如果能在發生異常的方法中處理異常,那麼就不需要丟擲或使用異常。

一般來說,乙個專案中多個類都會發生的共同異常應該考慮作為一種異常類。對於發生在個別方法中的簡單錯誤最好進行區域性處理,無須丟擲異常。

在**中,什麼時候應該使用try-catch塊呢?當必須處理不可預料的錯誤狀況時應該使用它。不要用try-catch塊處理簡單的、可預料的情況。例如,下面的**:

trycatch(nullpointerexception ex)

最好用以下**代替:

if(refvar != null)

system.out.println(refvar.tostring());

else

system.out println("refvar is null");

哪些情況是異常的,哪些情況是可預料的,有時是很難判斷的。但有一點要把握住,不要把異常處理用途簡單的邏輯測試。

NoSQL與RDBMS 何時使用,何時不使用

naresh kumar是位軟體工程師與熱情的博主,對於程式設計與新事物擁有極大的興趣,非常樂於與其他開發者和程式設計師分享技術上的研究成果。近日,naresh撰文比較了nosql與rdbms,並詳細介紹了他們各自的特點與適用的場景。nosql並不是關係型資料庫管理系統,本文將會介紹nosql資料庫...

何時使用或何時不使用malloc函式

在初學資料結構時,我們往往不太清楚在定義乙個結構體指標時要不要使用malloc函式。例如以下的 linklist init linklist retrun h linklist s s data x 以上這兩句 是不行的,因為s沒有指向確切的位址,所以不能通過s來向它要指向的位址賦值 但是linkl...

MySQL何時使用索引 何時不使用索引

mysql何時使用索引 對乙個鍵碼使用 if null和between select from table name where key part1 1 and key part2 5 select from table name where key part1 is null 當使用不以萬用字元開...