什么情况下会用到try-catch
本文不區(qū)分語(yǔ)言,只為記錄一次有收獲的面試。
面試官:什么情況下用到try-catch?
程序員:代碼執(zhí)行預(yù)料不到的情況,我會(huì)使用try-catch。
面試官:什么是預(yù)料不到的情況呢?
程序員:比如我要計(jì)算a除以b,但是b是變量,如果b等于0程序就會(huì)出錯(cuò),所以我會(huì)將程序代碼放在try中。
面試官:還有其他情況會(huì)遇到try-catch嗎?
程序員:我會(huì)在上傳文件時(shí)使用try-catch,之前做過(guò)一個(gè)網(wǎng)站有上傳文件的功能,線下測(cè)試的時(shí)候沒(méi)有問(wèn)題,但是那個(gè)線上環(huán)境是一個(gè)僅有100M的虛擬空間,除了代碼剩余的空間所剩無(wú)幾,所以網(wǎng)站上線后沒(méi)過(guò)多長(zhǎng)時(shí)間上傳文件就在catch中報(bào)錯(cuò),空間不足。
面試官:還有其他場(chǎng)景會(huì)用到try-catch嗎?
程序員:我還會(huì)在使用數(shù)據(jù)庫(kù)事務(wù)的時(shí)候使用try-catch,如果事務(wù)執(zhí)行成功就提交事務(wù),如果事務(wù)執(zhí)行失敗就由catch提示錯(cuò)誤并回滾事務(wù)。還有就是在使用curl方式訪問(wèn)其他網(wǎng)絡(luò)地址的時(shí)候會(huì)用到,如果網(wǎng)絡(luò)訪問(wèn)出錯(cuò)或者網(wǎng)絡(luò)訪問(wèn)超時(shí)就在catch中拋出錯(cuò)誤。還有就是之前寫(xiě)winfrom軟件的時(shí)候調(diào)用攝像頭和打印機(jī),會(huì)使用try-catch。
面試官:那我可否歸納為當(dāng)程序需要打開(kāi)一個(gè)資源,使用完后需要關(guān)閉的情況下,需要使用try-catch。就想你上面說(shuō)到的文件上傳寫(xiě)入,數(shù)據(jù)庫(kù)事務(wù)的提交,還有攝像頭和打印機(jī)的使用,都是這種情況。
除了上面所說(shuō)的情況,你還有其他場(chǎng)景會(huì)用到try-catch嗎?
程序員:還有就是我的程序調(diào)用其他人寫(xiě)的程序接口的時(shí)候,我不敢保證別人的接口返回的都是約定好的返回值。所以如果接口返回約定好的返回值,那么try中的程序正常執(zhí)行,如果意料之外catch拋出錯(cuò)誤。
?
轉(zhuǎn)載于:https://www.cnblogs.com/lts8989/p/5472142.html
總結(jié)
以上是生活随笔為你收集整理的什么情况下会用到try-catch的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: spark 编译
- 下一篇: 王爽《汇编语言第三版》实验10-1代码实