在做專案的時候我經常會遇到這樣的問題:
例如有
bool fun1();
bool fun2();
bool fun3();
bool fun4();
如果呼叫順序為
if(fun1)
if(fun2)
if(fun3)
if(fun4)
...如果呼叫 fun1成功就呼叫fun2 . 以此類推... 這樣我們就得寫n個if巢狀語名.
或者是:
fun1()
if(fun2)
fun2()
if (fun3)
我們能不能不用層層判斷.哪層錯誤直接跳出呢?
答案是可以的:
trycatch
語句就可以實現這樣的功能.
try
fun1()//如果出錯就直接丟擲異常.
fun2()//如果出錯就直接丟擲異常.
cath(...)
//這裡來捕獲異常.
}
錯誤處理的返回 異常還是返回值
推薦使用異常 因為異常設計就是為了決解 什麼出了錯?在哪齣的錯?為什麼出錯?1.通過使用異常可以明確 錯誤的型別,錯誤的原因,錯誤出現的地方並且呼叫者強制處理,這提高程式的健壯性 robust 而返回值方式需要呼叫者主動去處理。2.使用異常可以使 更加優雅 可讀性提高。不用寫各種if else判斷情...
錯誤處理之函式返回值OR異常處理
問題 1 錯誤處理的方法有哪些?2 使用函式返回值還是丟擲異常?3 php 原框架下的異常處理機制是怎樣的?4 php yii框架下的錯誤處理方案是怎樣的?有什麼參考意義?如上所述四種處理方法,成員變數的方式多數使用在處理結果不用立即返回的情況,譬如對多個資料字段進行校驗返回校驗結果,使用場景比較明...
Flex TitleWindow返回值處理
flex有2 中彈出視窗 alert.show 和通過 popupmanager 產生出來的彈出視窗,其中 alert 我們可以稱之為彈出對話方塊主要用於資訊提示,而用 popupmanager 產生出來的彈出視窗才是本文需要討論的議題。1 彈出視窗如何彈出 移除 利用 popupmanager 可...