什麼狀況下會用到try-catch

本文不區分語言,只爲記錄一次有收穫的面試。程序員

面試官:什麼狀況下用到try-catch?
程序員:代碼執行預料不到的狀況,我會使用try-catch。
面試官:什麼是預料不到的狀況呢?
程序員:好比我要計算a除以b,可是b是變量,若是b等於0程序就會出錯,因此我會將程序代碼放在try中。
面試官:還有其餘狀況會遇到try-catch嗎?
程序員:我會在上傳文件時使用try-catch,以前作過一個網站有上傳文件的功能,線下測試的時候沒有問題,可是那個線上環境是一個僅有100M的虛擬空間,除了代碼剩餘的空間所剩無幾,因此網站上線後沒過多長時間上傳文件就在catch中報錯,空間不足。
面試官:還有其餘場景會用到try-catch嗎?
程序員:我還會在使用數據庫事務的時候使用try-catch,若是事務執行成功就提交事務,若是事務執行失敗就由catch提示錯誤並回滾事務。還有就是在使用curl方式訪問其餘網絡地址的時候會用到,若是網絡訪問出錯或者網絡訪問超時就在catch中拋出錯誤。還有就是以前寫winfrom軟件的時候調用攝像頭和打印機,會使用try-catch。
面試官:那我能否概括爲當程序須要打開一個資源,使用完後須要關閉的狀況下,須要使用try-catch。就想你上面說到的文件上傳寫入,數據庫事務的提交,還有攝像頭和打印機的使用,都是這種狀況。
除了上面所說的狀況,你還有其餘場景會用到try-catch嗎?
程序員:還有就是個人程序調用其餘人寫的程序接口的時候,我不敢保證別人的接口返回的都是約定好的返回值。因此若是接口返回約定好的返回值,那麼try中的程序正常執行,若是意料以外catch拋出錯誤。面試

相關文章
相關標籤/搜索