Java--throws與throw關鍵字
throws與throw關鍵字
一. throws關鍵字
在定義一個方法時可以使用throws關鍵字宣告,使用throws宣告的方法表示此方法不處理異常,而是交給方法的呼叫處進行處理,throws的用法:
public 返回值型別 方法名稱(引數列表,,,)throws 異常類{}
【使用throws關鍵字】
class Math
{
public int div (int i,int j)throws Exception {
int temp=i/j;
return temp;
}
}
因為除法操作可能會出現異常,也有可能沒有異常,所以在上面的程式碼的div()方法中使用了throws關鍵字,表示不管是否會產生異常,在呼叫方法處都必須進行異常處理,呼叫程式碼如下
【異常處理】
class Math
{
public int div (int i,int j)throws Exception {
int temp=i/j;
return temp;
}
}
public calss ThrowsDemo01 {
public static void main(String args[]){
Math m=new Math();
try
{
System.out.println(“除法操作”+m.div(4,2));
}
catch (Exception e)
{
e.printStackTrace();//列印異常
}
}
}
執行結果:
除法操作2
在上面的程式碼中,不管是否有問題都要使用try,,catch塊進行異常處理,既然throws是在此方法中定義的那麼在主方法中也是可以使用throws關鍵字,但是主方法是程式的起點,所以此時主方法再向上拋異常,則只能拋給JVM進行處理。
【在主方法中使用throws關鍵字】
class Math
{
public int dic(int i,int j){
int temp=i/j;
return temp;
}
}
public class ThrowsDemo02
{
//不使用trycatch進行處理
public static void main(String args[])throws Exception{
Math a=new Math();
System.out.println("除法操作:"+a.div(10,5));
}
}
執行結果:
除法操作:2
上面程式碼在主方法中使用了throws關鍵字,所以在程式主方法中就可以不使用try….catch進行異常的捕獲和處理。
注意:不要再主方法中使用throws關鍵字,因為主方法是程式的入口,發生異常後交由JVM處理,將導致程式的中斷。
二. throw關鍵字
與throws關鍵字不同的是,可以直接使用throw關鍵字人為的丟擲一個異常,丟擲時直接丟擲異常類的例項化物件即可。
【丟擲異常】
public class ThrowDemo01
{
public static void main(String args[]){
try
{
throw new Exception("自己丟擲的異常");//例項化異常物件
}
catch (Exception e)//捕獲異常
{
System.out.println(e);
}
}
}
執行結果:
java.lang.Exception: 自己丟擲的異常
以上程式碼並不難理解,因為異常產生時肯定會由系統產生一個異常類的例項化物件,只是此時異常類的例項化物件是手工產生的。
throw不會單獨使用:
throw關鍵字的使用完全符合異常的處理機制,但是,一般來說使用者都在避免異常的產生,所以不會手工的丟擲一個新的異常類例項,而往往會丟擲程式中產生的異常類例項。
三. throw與throws關鍵字的用法
學了那麼多異常處理方式,throws、throw、try,,catch等。這些到底該怎麼使用那?在實際的應用中都是組合搭配的使用。
【綜合使用】
class Math
{
public int div(int i,int j)throws Exception{
System.out.println("-----計算開始-----");
int temp=0;
try
{
temp=i/j;
}
catch (Exception e)
{
throw e;
}finally{
System.out.println("-----計算結束-----");
}
return temp;
}
}
public class ThrowDemo02
{
public static void main(String args[]){
Math m=new Math();
try
{
System.out.println("除法操作:"+m.div(10,2));
}
catch (Exception e)
{
System.out.println("異常產生:"+e);
}
}
}
運算結果:
-----計算開始-----
-----計算結束-----
除法操作:5
從程式中可以發現,通過合理的搭配程式完成了需要的功能,不管在Math類中的div()方法是否會產生異常,都會執行“計算結束”的語句,如果有異常產生則將異常交給呼叫處處理。
相關推薦
Java--throws與throw關鍵字
throws與throw關鍵字 一. throws關鍵字 在定義一個方法時可以使用throws關鍵字宣告,使用throws宣告的方法表示此方法不處理異常,而是交給方法的呼叫處進行處理,throws的用法: public 返回值型別 方法名稱(引數列表
簡述JDBC原理 + 在JAVA中異常是什麽 + throws 與 throw 區別 + 簡單解釋以下JAVA中的多態
鏈接 con 原理 指向 引用 作用 ger 同名方法 nec JDBC原理: 加:加載驅動 鏈:創建連接 預:創建預編譯 執:執行SQL語句(查詢需要處理結果級) 釋:關閉鏈接; DBC中定義了一些接口: 1、驅動管理: DriverMan
java 異常處理機制,throws與throw,try-catch-finally
java 異常處理機制 1.Java異常處理 2.try-catch-finally的程式流程圖 3.關鍵解讀 4.demo 5.不捕獲異常時的情況 在編寫程式時,經常要在可能出現錯誤的地方
拋出異常throws與throw
語句 方法 -s 內部 spa 聲明 單獨使用 多個 bsp throws throw throws與throw的區別 throw用於在程序中拋出異常,throws用於在聲明在該方法中拋出異常。 使用位置不同:throw位於方法體內部,可以作為單獨語句;throws必須跟
throws與throw
1.throws關鍵字–>作用於方法上 在進行方法定義時,如果要明確告訴呼叫者方法可能產生哪些異常,可以使用throws方法進行宣告,表示將異常拋回給呼叫方,並且當方法出現問題後,可以不進行處理。 public class Test { public static void
java throws和throw的區別
丟擲異常丟擲異常有三種形式,一是throw,一個throws,還有一種系統自動拋異常。下面它們之間的異同。 系統自動拋異常 當程式語句出現一些邏輯錯誤、主義錯誤或型別轉換錯誤時,系統會自動丟擲異常。如: public static void main(String[] ar
java異常——五個關鍵字(try、catch、finally、throw、throws)
五個 code print 聲明 col span pan all 組合 一、try、catch、finally常用組合 try{ xxx }catch(xxxException e){ e.printStackTrace(); } try{
Java語言如何進行異常處理,關鍵字:throws、throw、try、catch、finally分別代表什麼意義?在try塊中可以丟擲異常嗎?
try塊表示程式正常的業務執行程式碼。如果程式在執行try塊的程式碼時出現了“非預期”情況,JVM將會生成一個異常物件,這個異常物件將會被後面相應的catch塊捕獲。 catch塊表示一個異常捕獲塊。
Java語言如何進行異常處理,關鍵字:throws、throw、try、catch、finally分別如何使用?
需要學習資料的+微信公眾號 學習資源後臺找我 本人比較忙 我看到了會在後臺幫你,謝謝關注啦 Java通過面向物件的方法進行異常處理,把各種不同的異常進行分類,並提供了良好的介面。 在Jav
Java異常機制try、catch、finally、throw、throws五個關鍵字。
Java異常機制主要依賴於try、catch、finally、throw、throws五個關鍵字。 1.try:它裡面放置可能引發異常的程式碼 2.catch:後面對應異常型別和一個程式碼塊,用於表明該catch塊用於處理這種型別
[Js-Java SE]Java中的Native關鍵字與JNI
pan 基礎 好文 native ava 文章 aid java se targe 一篇精細基礎到令人發指的好文章mark 鏈接: https://pan.baidu.com/s/1-9X8YFBdmFyaWDJoSZyBtQ 密碼: 90sf[Js-Java SE]Jav
初學總結--------Java修飾符與修飾關鍵字(且叫修飾關鍵字)
避免 它的 抽象類 ati 其他 new ont bsp 方法名 Java中有類,有成員變量,有成員方法,有局部變量。他們分別能用什麽來修飾? 目前學習到的類,有普通類和內部類。 一.修飾普通類: 1.public 每個文件中只有一個類能被public修飾,表示可以被
Java內存模型與volatile關鍵字淺析
同步 size zed 內存 ces reads 需要 vol private volatile關鍵字在java並發編程中是經常被用到的,大多數朋友知道它的作用:被volatile修飾的共享變量對各個線程可見,volatile保證變量在各線程中的一致
Java內部類與final關鍵字詳解
修飾 tor oca 修飾符 key eight 標識 cal ner 閱讀目錄 一、內部類的幾種創建方法: 二、神馬是內部類? 三、最後來說說final關鍵字: 回到頂部 一、內部類的幾種創建方法: 1、成員內部類 1 2 3 4 5 6 cl
java中拋出throw關鍵字是怎麽用的? 舉例?
gin 物理 let 決定 download 崩潰 一個 string 怎麽 5.拋出throw關鍵字 (視頻下載) (全部書籍) 馬克-to-win:我們先說5/0的原理,當程序運行到5/0的時候,java系統JVM會在後臺new出一個除0異常實例,之後把這個實例傳入
Java中throws和throw的區別講解
當然,你需要明白異常在Java中式以一個物件來看待。 並且所有系統定義的編譯和執行異常都可以由系統自動丟擲,稱為標準異常,但是一般情況下Java 強烈地要求應用程式進行完整的異常處理,給使用者友好的提示,或者修正後使程式繼續執行。 直接進入正題哈: 1.使用者程式自定義的異常和應用程式特定的異常,必
thinking in java (四) ----- static與this關鍵字
static static代表什麼 static表示“全域性”或者“靜態”的意思,用來修飾成員變數或者方法,也可以修飾程式碼塊。被static修飾的成員會在類載入的時候進行初始化與空間分配,被設定為靜態後,成員會被存放在靜態儲存空間,全域性共享一個值。因此訪問被st
super 與 this 關鍵字(Java)
super 與 this 關鍵字 super關鍵字:我們可以通過super關鍵字來實現對父類成員的訪問,用來引用當前物件的父類。 this關鍵字:指向自己的引用。 例項 class Animal { void eat() { System.out.println("a
java:面向物件(abstract不能與那些關鍵字同時使用注意事項)
/* * abstract不能和那些關鍵字共存? * * abstract和static * * 被abstract修飾的方法沒有方法體 * * 被static修飾的方法可以用類名.呼叫,但
Java(二)異常處理4.throw關鍵字
public class ThrowDemo { public static void main(String[] args) { try { int ret=divide(10,0); System.out.println(ret);