国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

面試官:try-catch 到底寫在循環(huán)里面好,還是外面好?大部分人都會答錯!

這篇具有很好參考價值的文章主要介紹了面試官:try-catch 到底寫在循環(huán)里面好,還是外面好?大部分人都會答錯!。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

問題

面試官:

try-catch 到底寫在循環(huán)里面好,還是外面好?

這個問題,我相信大部分人都會答錯!

到底寫在哪里好?

很多人會說當(dāng)然寫在循環(huán)外面好,也有一部分人說寫在循環(huán)里面好,其實這兩種回答都不完全對,我們來分析下兩者的弊端。

try-catch 寫在循環(huán)外面的弊端:

try {
	for (...){
		// 處理邏輯
	}
} catch(Exception e) {
	...
}

如果 try-catch 寫在循環(huán)外面,一條數(shù)據(jù)處理異常,循環(huán)結(jié)束,會導(dǎo)致整個任務(wù)的結(jié)束,嚴(yán)重影響系統(tǒng)效率。

try-catch 寫在循環(huán)里面的弊端:

for (...){
	try {
    	// 處理邏輯
    } catch(Exception e) {
        ...
    }
}

因為異常處理會影響效率,如果 try-catch 寫在循環(huán)里面,會造成過多的、沒有必要的循環(huán)異常處理,會嚴(yán)重影響系統(tǒng)效率。

這一點在阿里巴巴的《Java開發(fā)手冊》異常處理中也有相關(guān)提及:

面試官:try-catch 到底寫在循環(huán)里面好,還是外面好?大部分人都會答錯!

這里提到了異常的處理效率,確實相對較低,如果循環(huán)中寫 try-catch,異常不發(fā)生或者少發(fā)生就還好,如果異常發(fā)生較多,系統(tǒng)效率肯定會降低。這個完整版手冊可以關(guān)注公眾號Java技術(shù)核心,在后臺回復(fù)關(guān)鍵字 "手冊" 獲取。

所以,不管寫在哪里,這個要看實際情況,要結(jié)合具體業(yè)務(wù)再做出具體的選擇的,并不是絕對的寫在哪里就一定好或者不好。

應(yīng)用場景

下面我總結(jié)一下兩者的應(yīng)用場景,歡迎留言補充!

try-catch 適合寫在循環(huán)外面的場景:

1)一條數(shù)據(jù)處理異常,需要停止后面的數(shù)據(jù)處理;

2)不能接受任意數(shù)據(jù)處理異常,如在事務(wù)方法中,需要整體成功或者失敗,這時一條數(shù)據(jù)處理異常,就需要停止循環(huán)后面的數(shù)據(jù)處理,同時需要回滾循環(huán)中所有已處理過的數(shù)據(jù);

try-catch 適合寫在循環(huán)里面的場景:

1)一條數(shù)據(jù)處理異常,不能影響其他數(shù)據(jù)的處理;

2)能接受少部分的數(shù)據(jù)處理異常,而不影響整體數(shù)據(jù)處理;

如果是連接超時異常類,如果要寫在循環(huán)里面,可以設(shè)置在超過 N 條連接超時后強制退出循環(huán),一方面排除了網(wǎng)絡(luò)波動,服務(wù)可能真的出現(xiàn)故障,這時可以避免過多沒有必要的請求超時,待服務(wù)恢復(fù)后再重試;

總結(jié)

目前沒有規(guī)范說一定要寫在哪里比較好,try-catch 寫在循環(huán)里面或者外面都可以,上面分析了兩者的弊端和應(yīng)用場景,我們也可以根據(jù)實際業(yè)務(wù)場景作出選擇。

對于這個面試題,你有什么想分享的呢?歡迎留言討論~!

好了,今天的分享就到這里了,后面棧長會分享更多好玩的 Java 技術(shù)和最新的技術(shù)資訊,關(guān)注公眾號Java技術(shù)棧第一時間推送,我也將主流 Java 面試題和參考答案都整理好了,在公眾號后臺回復(fù)關(guān)鍵字 "面試" 進(jìn)行刷題。

最后,覺得我的文章對你用收獲的話,動動小手,給個在看、轉(zhuǎn)發(fā),原創(chuàng)不易,棧長需要你的鼓勵。

版權(quán)聲明: 本文系公眾號 "Java技術(shù)棧" 原創(chuàng),轉(zhuǎn)載、引用本文內(nèi)容請注明出處,抄襲、洗稿一律投訴侵權(quán),后果自負(fù),并保留追究其法律責(zé)任的權(quán)利。

近期熱文推薦:

1.1,000+ 道 Java面試題及答案整理(2022最新版)

2.勁爆!Java 協(xié)程要來了。。。

3.Spring Boot 2.x 教程,太全了!

4.別再寫滿屏的爆爆爆炸類了,試試裝飾器模式,這才是優(yōu)雅的方式!!

5.《Java開發(fā)手冊(嵩山版)》最新發(fā)布,速速下載!

覺得不錯,別忘了隨手點贊+轉(zhuǎn)發(fā)哦!文章來源地址http://www.zghlxwxcb.cn/news/detail-601834.html

到了這里,關(guān)于面試官:try-catch 到底寫在循環(huán)里面好,還是外面好?大部分人都會答錯!的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • C++/Qt中異常處理try-catch語句的使用方式及場景案例

    try-catch語句用于捕獲和處理異常,它的基本語法如下: ```cpp try { ??? // 可能會拋出異常的代碼塊 } catch (ExceptionType1 e1) { ??? // 處理 ExceptionType1 類型的異常 } catch (ExceptionType2 e2) { ??? // 處理 ExceptionType2 類型的異常 } catch (...) { ??? // 處理其他類型的異常 } ``` 在try塊中,我

    2024年02月12日
    瀏覽(21)
  • 詳解Java中的異常體系結(jié)構(gòu)(throw,throws,try-catch,finally,自定義異常)

    詳解Java中的異常體系結(jié)構(gòu)(throw,throws,try-catch,finally,自定義異常)

    目錄 一.異常的概念 二.異常的體系結(jié)構(gòu) 三.異常的處理 異常處理思路 LBYL:Look Before You Leap EAFP: It\\\'s Easier to Ask Forgiveness than Permission 異常拋出throw 異常的捕獲 提醒聲明throws ?try-catch捕獲處理 finally的作用 四.自定義異常類 有一句話說的很好 ”程序員不是在寫B(tài)UG就是在改BUG”

    2024年02月05日
    瀏覽(27)
  • try catch 嵌套

    try catch 嵌套

    在單元測試中寫入以下方法: testMain() 主方法, out() 里面嵌套了兩層try catch 異常代碼寫在內(nèi)層try中 示例一: 日志信息: 可以看到,內(nèi)層try中的異常由 內(nèi)層catch處理 了,外層catch并未處理,主方法后續(xù)業(yè)務(wù)邏輯并未受到影響,可正常執(zhí)行. 示例二: 內(nèi)層try catch中添加 throw new Ru

    2024年02月06日
    瀏覽(23)
  • 前端try和catch

    為什么要使用try catch 使用 try...catch 語句是為了處理和管理可能會在程序運行過程中發(fā)生的異?;蝈e誤情況。以下是一些使用 try...catch 的主要原因: 錯誤處理:在開發(fā)過程中,無法避免地會出現(xiàn)各種錯誤,如網(wǎng)絡(luò)請求失敗、數(shù)據(jù)解析錯誤、未定義的變量引用、不合法的操作等

    2024年02月07日
    瀏覽(25)
  • try、catch語句解析

    try-catch 語句是JavaScript中的一種 處理異常 的方式。 它的執(zhí)行規(guī)則如下:首先會執(zhí)行try中的代碼,如果異常則會通過throw拋出異常,而catch會捕獲拋出的異常。 在代碼執(zhí)行過程中,如果遇到錯誤會立即停止執(zhí)行,轉(zhuǎn)而進(jìn)入catch語句當(dāng)中。 在 try-catch 語句中,二者都是可選擇的。

    2024年02月15日
    瀏覽(29)
  • C# try catch 使用

    try catch使用場景: 1. 一般在線程,委托中使用, 在線程與委托中使用是因為,如果線程和委托中出現(xiàn)異常在程序外部是捕獲不到的,需要在內(nèi)部做單獨處理。 2.?程序的外層使用,比如程序的入口處加一個全局異常捕獲,這樣整個程序發(fā)生的異常都可以捕獲到。 3. 在事件或

    2024年02月09日
    瀏覽(20)
  • try catch執(zhí)行過程分析

    try catch執(zhí)行過程分析

    本篇文章帶大家聊聊try catch的執(zhí)行過程,有時候在開發(fā)的過程中,try代碼里如果出現(xiàn)異常,catch后的步驟還會繼續(xù)執(zhí)行嗎?以及finally的使用。 下面來分析一下幾種使用場景: 場景一: try代碼塊中出現(xiàn)異常后,系統(tǒng)會繼續(xù)執(zhí)行catch代碼塊的程序。catch代碼塊外的代碼也會繼續(xù)被

    2024年02月15日
    瀏覽(22)
  • Java try catch語句詳解

    在實際應(yīng)用中,對于錯誤的處理是極其重要的,任何程序都很難做到百分百完美,程序中可能存在大量未知問題,所以程序開發(fā)時一定要對各種問題進(jìn)行相應(yīng)的處理,而 Java 提供的異常處理機(jī)制可以幫用戶更好地解決這方面的問題。 Java 的異常處理機(jī)制可以讓程序具有極好的

    2024年02月08日
    瀏覽(17)
  • 記錄--try...catch知識補全

    記錄--try...catch知識補全

    說到 try...catch 都覺得非常熟悉了,不就是用來捕捉代碼塊中的錯誤嘛,平時也用得比較多的。然而因為了解不夠多,我的面試卻栽在了一個簡單的知識點上: try...catch 只能捕捉到同步執(zhí)行代碼塊中的錯誤 。 題目是:以下代碼有錯嗎?如果有錯,應(yīng)該如何改正? 反正就是不

    2024年02月04日
    瀏覽(21)
  • 深入理解try...catch(字節(jié)碼層面)

    深入理解try...catch(字節(jié)碼層面)

    我們工作中常用try...catch來解決程序中出現(xiàn)的異常情況,但是你真的了解它的實現(xiàn)原理嗎?今天我就帶著大家從字節(jié)碼層面理解try...catch 我們首先需要準(zhǔn)備好異常類和對應(yīng)的測試類方便我們觀察。 異常類: 測試類: 在idea中編譯后,使用jclasslib插件即可查看對應(yīng)的字節(jié)碼,字

    2024年02月02日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包