日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
面試官:說說你對Java異常的理解

背景

創(chuàng)新互聯(lián)建站服務項目包括北湖網(wǎng)站建設、北湖網(wǎng)站制作、北湖網(wǎng)頁制作以及北湖網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,北湖網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到北湖省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

不管是工作中還是面試中,異常這一塊還是非常重要的。作為Java開發(fā)人員來說,學會如何處理異常,哪些異常必須自己處理,哪些異常可以往外拋等等,這些都是必需品。

生活總有你意想不到的驚喜和意外,我們的code也是一樣。

異常不懂,佛祖也保佑不了你。

今天我們就來聊聊Java異常的話題。我們可以把Throwable當做Java異常的根類(祖宗)。因為實現(xiàn)類太多,所以下面大致列了幾個常見的實現(xiàn)類。

Error

錯誤:表示系統(tǒng)級的錯誤和程序不必處理的異常,是 Java 運行環(huán)境中的內(nèi)部錯誤或者硬件問題。

例如:內(nèi)存資源不足等。

對于這種錯誤,程序基本無能為力,除了退出運行外別無選擇,它是由 Java 虛擬機拋出的。

Exception

異常:表示需要捕捉或者需要程序進行處理的異常,它處理的是因為程序設計的瑕疵而引起的問題或者在外的輸入等引起的一般性問題,是程序必須處理的。

Exception 又分為運行時異常,受檢查異常。

RuntimeException(運行時異常)

表示無法讓程序恢復的異常,導致的原因通常是因為執(zhí)行了錯誤的操作,建議終止邏輯,因此,編譯器不檢查這些異常。

CheckedException(受檢查異常)

是表示程序可以處理的異常,也即表示程序可以修復(由程序自己接受異常并且做出處理),所以稱之為受檢查異常。

Checked異常的處理方式有兩種:

當前方法明確知道如何處理該異常,程序應該使用try--catch 代碼塊來捕獲異常,然后在對應的catch模塊中修復異常。

當前方法不知道如何處理這種異常,應該定義該方法時就聲明跑出該異常。

Throwable 類常用方法?

  • getMessage()方法:返回異常發(fā)生時的詳細信息。
  • getCause()方法:獲得導致當前 Throwable 異常的 Throwable 異常。
  • getStackTrace() 方法:獲得 Throwable對象封裝的異常信息。
  • printStackTrace()方法:在控制臺上打印。

請列出 5 個運行時常見異常?

  • NullPointerException
  • IndexOutOfBoundsException
  • ClassCastException
  • ArrayStoreException
  • BufferOverflowException

異常處理有哪些關鍵字?

拋出異常:throw,throws

捕獲異常:try,catch,finally

throw 與 throws 的區(qū)別 ?

  • throw ,用于在程序中顯式地拋出一個異常實例。
  • throws ,用于指出在該方法中沒有處理的異常。每個方法必須顯式指明哪些異常沒有處理,以便該方法的調(diào)用者可以預防可能發(fā)生的異常。最后,多個異常用逗號分隔。

異常處理中 finally 語句塊的重要性?

不管程序是否發(fā)生了異常, finally 語句塊都會被執(zhí)行,甚至當沒有catch 聲明但拋出了一個異常時, finally 語句塊也會被執(zhí)行。

finally 語句塊通常用于釋放資源,如 I/O 緩沖區(qū)、數(shù)據(jù)庫連接、釋放鎖等等。

異常使用方式

異常處理規(guī)則

如何自定義異常?

除了JDK定義好的異常類以外,在開發(fā)過程中我們也可以根據(jù)業(yè)務的異常情況自定義異常類。

用戶自定義異常都應該繼承Exception基類,如果用戶想自定義Runtime異常,則應該繼承RuntimeException基類。

定義異常時,通常有兩個構(gòu)造方法:

  • 無參構(gòu)造方法
  • 有參構(gòu)造方法,這個參數(shù)是字符串,這個字符串作為對該異常信息描述,也就是getMessage()方法的返回值(比如說:“用戶密碼有誤”、“xx接口返回參數(shù)為空”等)。

不過在項目中可能沒這么簡單,可能還會對其進行再次封裝。

但是基本上都是有兩個參數(shù):code+msg;

code:主要是對業(yè)務中的異常進行歸類,結(jié)合Http的code來定義。

msg:主要是業(yè)務異常的信息提示。

你們項目中的自定義異常類是如何封裝的呢?不知道的就回去翻翻你們項目中的自定義是如何寫的,這就把學習和實踐結(jié)合起來了。

總結(jié)

本文一共講述了下面五個點:

  • Java中異常的分類
  • 常見異常有哪些
  • 相關的關鍵字如何使用
  • 異常的處理規(guī)則
  • 如何自定義異常

本文轉(zhuǎn)載自微信公眾號「Java后端技術全?!?,可以通過以下二維碼關注。轉(zhuǎn)載本文請聯(lián)系Java后端技術全棧公眾號。


名稱欄目:面試官:說說你對Java異常的理解
分享地址:http://www.dlmjj.cn/article/dhhgiso.html