throw和throws的區別


throw和throws的區別

拋出異常有三種形式,一是throw,一個throws,還有一種系統自動拋異常。下面它們之間的異同

一、系統自動拋異常

當程序語句出現一些邏輯錯誤、主義錯誤或類型轉換錯誤時,系統會自動拋出異常

二、throw

1、throw是語句拋出一個異常,一般是在代碼塊的內部,當程序

現某種邏輯錯誤時由程序員主動拋出某種特定類型的異常

2、定義在方法體內

3、創建的是一個異常對象

4、確定了發生哪種異常才可以使用

 

三、throws

1、在方法參數列表后,throws后可以跟着多個異常名,表示拋出的異常用逗號隔開

2、表示向調用該類的位置拋出異常,不在該類解決

3、可能發生哪種異常

 

 

throws用在方法聲明后面,跟的是異常類名,throw用在方法體內,跟的是異常對象名。

     throws可以跟多個異常類名,用逗號隔開,throw只能拋出一個異常對象名。

     throws表示拋出異常,由該方法的調用者來處理,throw表示拋出異常,由方法體內的語句處理。

throws表示出現異常的一種可能性,並不一定會發生這些異常,throw則是拋出了異常,執行throw則一定拋出了某種異常。

 

四、異常

異常概述:

異常:異常是指在程序的運行過程中所發生的不正常的事件,它會中斷正在運行的程序。簡單來說就是程序出現了不正常的情況。異常本質就是Java當中對可能出現的問題進行描述的一種對象體現。

 

如果我們不做任何處理,異常將會交由虛擬機來處理

 

虛擬機的處理方式:

把異常的名稱,異常出現的位置,異常原因,等信息輸出打印在控制台,並同時將  程序停止執行。

 

在寫程序時,對可能會出現異常的部分通常要用try{...}catch{...}去捕捉它並對它進行處理;

用try{...}catch{...}捕捉了異常之后一定要對在catch{...}中對其進行處理,那怕是最簡單的一句輸出語句,或棧輸入e.printStackTrace();

如果是捕捉IO輸入輸出流中的異常,一定要在try{...}catch{...}后加finally{...}把輸入輸出流關閉;

如果在函數體內用throw拋出了某種異常,最好要在函數名中加throws拋異常聲明,然后交給調用它的上層函數進行處理。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM