以下兩種情況要避免在finally中使用return
1. 如果catch塊中捕獲了異常,並將該異常throw給上級呼叫者處理,但finally中return了,那麼catch塊中的throw就失效了,上級方法呼叫者是捕獲不到異常的
例: 如下**上級呼叫者是捕獲不到異常的
publicstatic
void
main(string args)
catch
(exception e)
}public
static
intwork()
catch
(exception e)
finally
}
2 .在finally裡的return之前執行了其他return ,最終的返回值還是finally中的return
例 : 如下**返回的是finally裡return的5
publicstatic
void
main(string args)
public
static
intwork()
catch
(exception e)
finally
}
不要使用vector
做為乙個 stl容器,vector 有兩個問題 第一,它不是乙個真正 stl容器,第二,它並不儲存 bool 型別 除此以外,並沒有太多東西與本節題目有關 譯註,還不夠多嗎 乙個東西不能成為乙個stl容器,只因為會有人說它是乙個 譯註,乙個東西要成為stl容器,必須滿足所有 列於c 標準23.1節的...
盡量不要使用FindWindow
盡量不用 findwindow 最近發現 se6和 se5程序共存時視窗名稱一樣引起的 bug。原因是我們經常使用 findwindow 來獲得視窗控制代碼,然後進行訊息通訊,這樣呼叫簡單,但增加了不同模組之間的依賴性,比如同時有兩個程序時,就可能會找錯視窗。而如果靠人去維護這個視窗名稱,在程式工程...
盡量不要使用可變引數
在某些情況下我們希望函式引數的個數可以根據實際需要來確定,所以c語言中就提供了一種長度不確定的引數,形如 c 語言也繼承了這一語言特性。在採用ansi標準形式時,引數個數可變的函式的原型是 typefuncname typepara1,typepara2,這種形式至少需要乙個普通的形式引數,後面的省...