2010-07-28 273 views
0

想象一下,您有一些可能會拋出異常的代碼。例如,您可以嘗試使用 向郵件服務器發送電子郵件或將文件寫入磁盤,但您不確定是否擁有正確的權限。您將使用什麼樣的異常處理策略來避免在瀏覽器中顯示異常?你需要什麼代碼?異常處理策略

+2

這功課呢? – Peter 2010-07-28 23:45:53

回答

0

所有可以拋出異常的語言都可以通過某種方式來捕捉它們。

他們往往是這個樣子:

try 
{ 
    some_risky_thing(); 
} 
catch(Exception e) 
{ 
    handle_the_exception(); 
} 

通過捕獲你停止它的傳播調用堆棧(它最終會找到用戶)除外。

爲了阻止所有例外情況發送給用戶,請將其中一個例外置於最高級別。然後,您可以捕獲任何您錯過的雜散例外,並執行比將它們扔給用戶更合適的事情(例如將它們記錄在某處)。

0

這取決於。

對於這些情況,我可能會包裝可以將異常拋出到try/catch塊中的代碼。不同的語言調用這個構造有所不同 - 有時它是try/catch/finally,其他的則是try/except。

但是,很容易濫用異常和異常處理。您需要避免的一些事情是使用流控制的異常處理,儘快處理異常(不斷將它們傳遞到調用堆棧直到它們可以得到適當處理),並將非例外情況視爲例外情況。