欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Java學(xué)習(xí)筆記之異常處理

本文實(shí)例為大家分享了Java異常處理的具體代碼,供大家參考,具體內(nèi)容如下

成都創(chuàng)新互聯(lián)公司,為您提供網(wǎng)站建設(shè)成都網(wǎng)站制作、網(wǎng)站營(yíng)銷(xiāo)推廣、網(wǎng)站開(kāi)發(fā)設(shè)計(jì),對(duì)服務(wù)服務(wù)器租用等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司成立于2013年,提供專(zhuān)業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!

一.異常的分類(lèi)

1.由Java虛擬機(jī)拋出的異常(Error):程序無(wú)法處理的問(wèn)題,用戶不用去進(jìn)行處理(虛擬機(jī)錯(cuò)誤丶內(nèi)存溢出錯(cuò)誤丶線程死鎖)

2.Exception異常:程序本身可以進(jìn)行處理的異常

1).非檢查異常(Unchecked Exception):編譯器不需要強(qiáng)制處理的異常(空指針異常丶數(shù)組下標(biāo)越界異常丶算數(shù)異常丶類(lèi)型轉(zhuǎn)換異常)

2).檢查異常(checked Exception):編譯器需要強(qiáng)制處理的異常(IOException丶SQLException) 

二.異常處理的兩種方法

1.通過(guò)try丶catch和finally關(guān)鍵字在當(dāng)前位置進(jìn)行異常處理

public static void main(String[] a){
 int sum = 0;
 while(true){
  try {  //以兩數(shù)相除除數(shù)不能為0進(jìn)行舉例
   System.out.println("請(qǐng)依次輸入兩個(gè)數(shù)值進(jìn)行除法操作:");
   Scanner scanner = new Scanner(System.in);
   int one =scanner.nextInt();
   int two =scanner.nextInt();
   sum = one/two;
   System.out.println("最終結(jié)果為:"+sum);
  } catch (Exception e) {    //用catch將錯(cuò)誤進(jìn)行捕捉,這里可以使用多重catch,對(duì)于不同的錯(cuò)誤進(jìn)行捕捉,但最后的catch建議為Exception。
   // TODO Auto-generated catch block //顯示錯(cuò)誤堆棧信息
   e.printStackTrace();                          
  }finally{            

 System.out.print("無(wú)論有沒(méi)有錯(cuò)誤我都會(huì)執(zhí)行");          }
 }
 }
}

輸出:

Java學(xué)習(xí)筆記之異常處理

2.通過(guò)try丶catch丶finally丶throw和throws拋出異常給函數(shù)調(diào)用者進(jìn)行處理

public class Try {
 public static void main(String[] a){
  try{
   Function();  //在函數(shù)調(diào)用者處對(duì)異常進(jìn)行處理
  }catch(Exception e)
  {
   e.printStackTrace();
  } 
 }
 static void Function() throws Exception{  //通過(guò)throws將異常進(jìn)行拋出
  
  System.out.println("請(qǐng)輸入一個(gè)數(shù)值進(jìn)行判斷:");
  Scanner scanner = new Scanner(System.in);
  int one =scanner.nextInt();
  if(one<100)
  {
   throw new Exception(); //若輸入的數(shù)值小于100則拋出異常
  }
 } 
}

輸出:

Java學(xué)習(xí)筆記之異常處理

3.自定義異常進(jìn)行處理

class MyException extends Exception{  //自定義異常,通過(guò)super方法傳遞異常信息給父級(jí)
 public MyException(){
 super("這是我自定義的異常");
 }
}
 
public class Try {
 public static void main(String[] a){
  try{
   Function();
  }catch(MyException e)
  {
   e.printStackTrace();
  } 
 }
 static void Function() throws MyException{
  
  System.out.println("請(qǐng)輸入一個(gè)數(shù)值進(jìn)行判斷:");
  Scanner scanner = new Scanner(System.in);
  int one =scanner.nextInt();
  if(one<100)
  {
   throw new MyException(); //將自定義異常進(jìn)行拋出  
  }
 } 
}

輸出:

Java學(xué)習(xí)筆記之異常處理

三.異常鏈

有的時(shí)候我們會(huì)在處理一個(gè)異常的時(shí)候拋出一個(gè)新的異常,也就是異常的嵌套,但是最后我們得到的異常信息卻只有一個(gè)。

示例:

public class Try {
 public static void main(String[] a){
  try{
   Function1();
  }catch(Exception e)
  {
   e.printStackTrace();
  } 
 }
 static void Function1() throws Exception{
  try{
   Function2();
  }catch(Exception e){
   throw new Exception();
  }
 } 
 static void Function2() throws Exception{
  try{
   Function3();
  }catch(Exception e){
   throw new Exception();
  }
 } 
 static void Function3() throws Exception{
   throw new Exception();
 } 
}

輸入結(jié)果:

Java學(xué)習(xí)筆記之異常處理

這樣的話顯示出的異常就只有一個(gè)了,那我們?nèi)绻胱屵@條異常鏈中的所有異常信息全部輸出該怎么辦呢?方法很簡(jiǎn)單,我們?cè)趻伋霎惓5臅r(shí)候?qū)惓?duì)象也當(dāng)作參數(shù)進(jìn)行拋出就行了。

示例:

public class Try {
 public static void main(String[] a){
  try{
   Function1();
  }catch(Exception e)
  {
   e.printStackTrace();
  } 
 }
 static void Function1() throws Exception{
  try{
   Function2();
  }catch(Exception e){
   throw new Exception("異常2",e);
  }
 } 
 static void Function2() throws Exception{
  try{
   Function3();
  }catch(Exception e){
   throw new Exception("異常2",e);
  }
 } 
 static void Function3() throws Exception{
   throw new Exception("異常3");
 } 
}

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

Java學(xué)習(xí)筆記之異常處理

到此,我們Java中的異常便是描述完了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

網(wǎng)站名稱(chēng):Java學(xué)習(xí)筆記之異常處理
網(wǎng)站網(wǎng)址:http://www.chinadenli.net/article28/jsgdcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT建站公司網(wǎng)站排名響應(yīng)式網(wǎng)站品牌網(wǎng)站制作做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司