免费爱碰视频在线观看,九九精品国产屋,欧美亚洲尤物久久精品,1024在线观看视频亚洲

      「C#點滴」 關(guān)于異常處理的一些最佳實踐

      1.重新拋出異常時使用 throw代替 throw ex

      如果要重新拋出異常,請直接使用 throw ; 因為在 catch 塊中使用 throw ex 會丟失堆棧信息,throw 則不會。當然,如果對異常不做任何處理,只是簡單地重新拋出,這種做法也是不可取的。

      var client = new HttpClient(); string? result = null; try { result = await client.GetStringAsync(“http://www.baidu.com”); } catch(Exception ex) { //…一些處理異常的代碼 // 直接使用 throw 而非 throw ex throw; } return result;

      2.任何時候都不要吞沒異常

      有些初學者為了不讓程序拋出異常,簡單地用空 catch 語句吞沒異常,這是典型掩耳盜鈴,非常壞的習慣!對于異常,要做相應(yīng)的處理,至少也要重新拋出!

      var client = new HttpClient(); string? result = null; try { result = await client.GetStringAsync(“http://www.baidu.com”); } catch { // 錯誤,堅決杜絕!簡單粗暴地 // 吞沒了異常,典型的掩耳盜鈴 } return result;

      3. 使用多個 catch 捕獲不同類型的異常

      var client = new HttpClient(); string? result = null; try { result = await client.GetStringAsync(“http://www.baidu.com”); } catch (HttpRequestException ex) { // 處理 HttpRequestException 的代碼 } catch (TaskCanceledException ex) { // 處理 TaskCanceledException 的代碼 result = null; }

      4.使用過濾器更加精確地處理異常

      var client = new HttpClient(); string? result = null; try { result = await client.GetStringAsync(“http://www.baidu.com”); } catch (HttpRequestException ex) when (ex.StatusCode == HttpStatusCode.Forbidden) { // 處理 403 錯誤的代碼 } catch (HttpRequestException ex) when (ex.StatusCode == HttpStatusCode.NotFound) { // 處理 404 錯誤的代碼 } return result;

      5.使用日志記錄異常

      產(chǎn)生異常后,應(yīng)使用日志系統(tǒng)記錄異常。記錄異常時,應(yīng)提供具體有意義的說明,同時記錄異常對象本身。

      catch (FileNotFoundException ex) { // 不推薦,信息太過模糊 this.logger.logError(ex,”發(fā)生了一些錯誤”); // 不推薦,沒有記錄異常對象本身,丟失了堆棧等重要信息 this.logger.logError(“找不到請求的文件”); // 推薦,記錄異常對象的同時提供有意義的說明 this.logger.LogError(ex, “找不到請求的文件”); }

      6.盡量使用系統(tǒng)預先定義好的異常

      因為系統(tǒng)預定義的異常知曉度高,語義明確,讓第三方開發(fā)者更容易理解。比如:

      • DivideByZeroException 零除異常
      • ArgumentNullException,參數(shù)為空異常
      • InvalidOperationException,非法操作異常
      • IndexOutOfRangeException,索引超界異常

      在絕大多數(shù)情況下,系統(tǒng)預定義的異常足夠使用了。只有在系統(tǒng)預定義異常無法滿足要求的時候,才考慮自定義異常。自定義的異常應(yīng)主要集中在業(yè)務(wù)和領(lǐng)域?qū)用?,異常的命名?yīng)該遵循 XxxException 的形式。

      鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
      用戶投稿
      上一篇 2022年6月13日 06:08
      下一篇 2022年6月13日 06:08

      相關(guān)推薦

      • 計算機網(wǎng)絡(luò)技術(shù)論文(計算機網(wǎng)絡(luò)技術(shù)論文七千字)

        今天小編給各位分享計算機網(wǎng)絡(luò)技術(shù)論文的知識,其中也會對計算機網(wǎng)絡(luò)技術(shù)論文七千字進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧! 計算機網(wǎng)絡(luò)方面的論文3000字…

        2022年11月26日
      • 前三季度,市場規(guī)模超過五萬億元 信息消費展現(xiàn)蓬勃生機

        家居企業(yè)個性化全屋定制系統(tǒng),備受消費者青睞;主打?qū)I(yè)電競的新款高性能便攜式計算機,銷量表現(xiàn)創(chuàng)新高;物流企業(yè)推出數(shù)智化供應(yīng)鏈興農(nóng)服務(wù)項目,助力優(yōu)質(zhì)農(nóng)產(chǎn)品出深山…… 不久前,工信部發(fā)布…

        2022年11月24日
      • 免費清理c盤的軟件(清理c盤空間不影響系統(tǒng))

        電腦用久了慢如龜速,還卡頓,這最大的原因啊就是C盤空間不足造成的。 即使電腦配置再好,或者硬盤再快,如果長時間沒有打掃C盤,打開文件或者穩(wěn)定之類的,都卡得讓人頭大。 這時候呢不要去…

        2022年11月24日
      • ipad怎么刷機(ipad怎么刷機重新激活)

        今天小編給各位分享ipad怎么刷機的知識,其中也會對ipad怎么刷機重新激活進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧! ipad密碼忘了怎么刷機? ip…

        2022年11月24日
      • win11怎么退回win10 win11怎么還原到win10

        許多朋友在更新完win11后發(fā)現(xiàn)使用起來不方便,而且有不少漏洞和bug,有時候還會出現(xiàn)卡頓,因此想要還原到win10系統(tǒng),但是不知道是否可以還原,下面就跟著小編一起來操作一下吧。 …

        2022年11月22日
      • 微信健康碼怎么注銷重新申請健康碼 怎么更換綁定人

        在疫情常態(tài)化的管理之下,出行都需要健康碼,那么如果因為種種原因注銷了健康碼怎么辦呢?這種情況下是否還可以再申請健康碼呢?下面一起來看看了解一下吧! 微信健康碼注銷了還能申請嗎 健康…

        2022年11月22日
      • 不遷怒,不貳過一《論語》(不遷怒不貳過是孔子哪位弟子)

        不遷怒,不貳過。 ——《論語》 犯了錯誤,不要遷怒別人,并且不要再犯第二次。這樣的人,才稱得上是一個有覺悟的人。只有那些沒有開悟,沒有活明白的人,才會好了傷疤忘了痛,反復多次犯同樣…

        2022年11月22日
      • 笑死!華人推特員工陪馬斯克熬夜加班后光速被裁

        買下推特后,埃隆?馬斯克對其進行了大刀闊斧的改革。今日早間,他還發(fā)布推文,貼出了他凌晨大約 1 點 30 分在推特舊金山總部與工程師們的合影。他表示剛與推特工程師們審查完代碼。正準…

        2022年11月21日
      • ios16.1.1續(xù)航怎么樣 ios16.1.1耗電信號問題改善了沒

        ios系統(tǒng)雖然好用,但是它的續(xù)航信號總是被人吐槽,以至于每次系統(tǒng)升級,用戶對于信號和續(xù)航還要發(fā)熱問題都非常關(guān)心,最新推送的ios 16.1.1怎么樣呢,續(xù)航、信號及發(fā)熱改善了嗎,別…

        2022年11月21日
      • 馬斯克凌晨一點半曬“代碼審查”現(xiàn)場,編排他的段子比瘋狂星期四還多

        夢晨 Pine 發(fā)自 凹非寺 量子位 | 公眾號 QbitAI 每一個真正會寫代碼的人,請在下午2點到總部10層報到。 每一個真正會寫代碼的人,請在下午2點到總部10層報到。 馬斯…

        2022年11月21日

      聯(lián)系我們

      聯(lián)系郵箱:admin#wlmqw.com
      工作時間:周一至周五,10:30-18:30,節(jié)假日休息