什麼情況下會用到try catch

2021-08-06 03:42:36 字數 935 閱讀 2847

面試官:什麼情況下用到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丟擲錯誤。

什麼情況下會用上568A線序

什麼情況下會用上568a線序 1985年初,計算機工業協會 ccia 提出對大樓佈線系統標準化的倡儀,美國電子工業協會 eia 和美國電信工業協會 tia 開始標準化制定工作。1991年7月,ansi eia tia568即 商業大樓電信佈線標準 問世。1995年底,eia tia 568標準正式更...

ORACLE 復合索引在什麼情況下會被用到

在論壇裡看到有人問,有三個列的復合索引,查詢條件中只包含兩個列是不是就不會走索引了?經過試驗,我發現兩點 1.只要某查詢條件中包含復合索引中的第乙個列,該查詢就會走索引,如果不包含,怎麼樣都不會走索引。什麼意思呢?比如說我建立個索引 create index idx1 test on test c1...

什麼情況下用遞迴?

遞迴的特點,可以看出遞迴可以大大縮短程式的 有意識的使用遞迴,可以用較短的 解決一些複雜的問題。甚至有些問題非得使用遞迴解決不可。那麼什麼時候我們該使用遞迴呢?遞迴演算法的 基本思想 是 把規模大的 較難解決的問題變成規模較小的 易解決的同一問題。規模較小的問題又變成規模更小的問題,並且小到一定程度...