偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Java基礎(chǔ)入門之異常的那些事兒

開發(fā) 后端
這篇文章我們主要介紹Java基礎(chǔ)入門之try...catch、finally、throws關(guān)鍵字和拋出異常知識(shí),一起來學(xué)習(xí)下吧!

[[382820]]

前言

大家好,我是Java進(jìn)階者。這篇文章我們主要介紹Java基礎(chǔ)入門之try...catch、finally、throws關(guān)鍵字和拋出異常知識(shí),一起來學(xué)習(xí)下吧!

一、try...catch和finally

(一)使用多重catch 語句

1.有些時(shí)候,當(dāng)單個(gè)代碼段可能會(huì)引起多個(gè)異常,為了處理這種狀況,可以使用兩個(gè)或多個(gè)catch子句,每個(gè)子句捕獲一種類型的異常。

2.使用多重catch語句格式

  1. try                              
  2. {  
  3. 可能發(fā)生異常的代碼塊;  
  4. }  
  5. catch(異常類型1  異常對(duì)象名1) 
  6. 異常處理代碼塊1;  
  7. }  
  8. catch(異常類型2  異常對(duì)象名2) 
  9. 異常處理代碼塊2;  
  10. }  
  11. … 
  12. catch(異常類型n  異常對(duì)象名n) 
  13. 異常處理代碼塊n;  

(二)finally關(guān)鍵字

1.如果我們希望有些語句無論程序是否發(fā)生異常,都要執(zhí)行我們就可以使用try...catch后面加個(gè)finally關(guān)鍵字。

2.finally關(guān)鍵字的使用語法格式

  1. try  
  2. {  
  3. 可能發(fā)生異常的代碼塊;  
  4. }  
  5. catch(異常類型  異常對(duì)象名) 
  6. 異常處理代碼塊;  
  7. }  
  8. finally 
  9. 不管有沒有產(chǎn)生異常都要執(zhí)行的代碼;  

3.try...catch后面加個(gè)finally關(guān)鍵字的使用例子

  1. public class p35 { 
  2. public static void main(String[] args) { 
  3.         // TODO Auto-generated method stub 
  4.         //定義一個(gè)try...catch語句捕獲異常 
  5.         try{ 
  6.             int result=div(6,0);//調(diào)用div()方法 
  7.             System.out.println(result); 
  8.         }catch(Exception e){//捕獲并處理異常 
  9.             System.out.println("捕獲異常信息為"+e.getMessage()); 
  10.             return;//用于結(jié)束當(dāng)前語句 
  11.         }finally{ 
  12.             System.out.println("finally代碼塊..."); 
  13.         } 
  14.         System.out.println("程序繼續(xù)向下執(zhí)行"); 
  15. //此方法實(shí)現(xiàn)兩個(gè)整數(shù)相除 
  16.         public static int div(int a,int b){ 
  17.             int result=a/b;//定義一個(gè)int類型變量result,保存兩個(gè)數(shù)相除結(jié)果 
  18.             return result;//結(jié)果返回值 
  19.         } 

運(yùn)行的結(jié)果是:


從上面代碼中,try的大括號(hào)里面是可能發(fā)生異常代碼塊,catch是捕獲并處理異常,在catch代碼塊中加了一個(gè)return語句,主要是結(jié)束當(dāng)前語句。我們發(fā)現(xiàn)System.out.println("程序繼續(xù)向下執(zhí)行")這個(gè)輸出語句不被執(zhí)行,然而finally關(guān)鍵字代碼塊中是被執(zhí)行了,沒有被return語句影響到,不管這個(gè)程序是否發(fā)生異常這個(gè)finally代碼塊的語句都會(huì)被執(zhí)行。

二、throws關(guān)鍵字

1.使用throws關(guān)鍵字的子句標(biāo)記方法的聲明,表示這個(gè)方法不對(duì)產(chǎn)生的異常進(jìn)行處理,而是向調(diào)用它的方法拋出這個(gè)異常。

2.thorws關(guān)鍵字拋出異常的語法格式:

  1. [修飾符]  返回類型 方法名(參數(shù)1,參數(shù)2,……)throws 異常列表 
  2. …… 

3.thorws關(guān)鍵字使用例子

  1. public class p35 { 
  2. public static void main(String[] args) throws Exception { 
  3.         // TODO Auto-generated method stub 
  4.             int result=div(16,2);//調(diào)用div()方法 
  5.             System.out.println(result); 
  6. //此方法實(shí)現(xiàn)兩個(gè)整數(shù)相除,使用throws關(guān)鍵字聲明拋出異常 
  7.         public static int div(int a,int b) throws Exception{ 
  8.             int result=a/b;//定義一個(gè)int類型變量result,保存兩個(gè)數(shù)相除結(jié)果 
  9.             return result;//結(jié)果返回值 
  10.         } 

運(yùn)行的結(jié)果是:


從上面代碼中,在main()方法后面加throws關(guān)鍵字使用拋出異常,它的最終是由虛擬機(jī)來處理這個(gè)異常的。在main()方法中調(diào)用div()方法,定義實(shí)現(xiàn)方法兩個(gè)整數(shù)相除,使用throws關(guān)鍵字聲明拋出異常。除了已定義的異常,開發(fā)人員還可以根據(jù)情況自定義異常類,定義時(shí)只要讓該類繼承Exception。

三、拋出異常

1.使用throw關(guān)鍵字用在方法中聲明拋出異常的實(shí)例對(duì)象。

2.拋出異常首先要產(chǎn)生異常對(duì)象,手動(dòng)拋出的異常對(duì)象,一定是Throwable或其子類的實(shí)例。它的語法語句如下:

  1. throw 異常對(duì)象; 

3.所有的異常類都有兩個(gè)構(gòu)造方法,以Exception類為例,生成Exception類的異常對(duì)象可以使用下面兩個(gè)構(gòu)造方法之一:

  1. public Exception( ); 
  2. public Exception(String s ); 

四、總結(jié)

本文主要介紹了try...catch和finally、throws關(guān)鍵字、拋出異常。

try...catch和finally介紹了使用多重catch語句格式、finally關(guān)鍵字的使用語法格式,通過try...catch后面加個(gè)finally關(guān)鍵字例子幫助理解是如何使用的。

使用throws關(guān)鍵字的子句標(biāo)記方法的聲明,表示這個(gè)方法不對(duì)產(chǎn)生的異常進(jìn)行處理,而是向調(diào)用它的方法拋出這個(gè)異常。拋出異常使用throw關(guān)鍵字用在方法中聲明拋出異常的實(shí)例對(duì)象。

我是Java進(jìn)階者,希望大家通過本文的學(xué)習(xí),對(duì)你有所幫助!

 

責(zé)任編輯:姜華 來源: Java進(jìn)階學(xué)習(xí)交流
相關(guān)推薦

2021-04-07 10:02:51

Python字典Python基礎(chǔ)

2021-04-17 10:05:57

Python字符串Python基礎(chǔ)

2021-02-25 08:40:19

Java異常分類異常防護(hù)

2021-04-28 10:01:06

Python基礎(chǔ)項(xiàng)目

2015-11-04 09:36:44

超融合IT基礎(chǔ)架構(gòu)

2018-08-17 10:30:52

JavaDocker限制

2023-04-11 07:34:40

分布式系統(tǒng)算法

2021-03-18 09:01:53

軟件開發(fā)軟件選型

2013-12-26 14:23:03

定位系統(tǒng)GPS監(jiān)測

2021-06-09 13:28:40

密碼安全身份認(rèn)證數(shù)據(jù)安全

2018-09-26 06:50:19

2021-06-02 08:33:31

TPCTPC-H系統(tǒng)

2011-02-25 14:35:00

2022-02-08 17:39:04

MySQL服務(wù)器存儲(chǔ)

2021-03-18 10:01:06

Java編譯異常運(yùn)行異常

2010-10-15 10:31:00

2021-02-01 14:17:53

裝飾器外層函數(shù)里層函數(shù)

2021-03-09 23:12:51

Python集合項(xiàng)目

2016-06-07 10:47:42

2021-10-13 08:53:53

Zookeeper存儲(chǔ)系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)