91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java學習筆記之異常處理

發布時間:2020-10-16 03:48:48 來源:腳本之家 閱讀:143 作者:莫凡丶 欄目:編程語言

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

一.異常的分類

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

2.Exception異常:程序本身可以進行處理的異常

1).非檢查異常(Unchecked Exception):編譯器不需要強制處理的異常(空指針異常丶數組下標越界異常丶算數異常丶類型轉換異常)

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

二.異常處理的兩種方法

1.通過try丶catch和finally關鍵字在當前位置進行異常處理

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

 System.out.print("無論有沒有錯誤我都會執行");          }
 }
 }
}

輸出:

Java學習筆記之異常處理

2.通過try丶catch丶finally丶throw和throws拋出異常給函數調用者進行處理

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

輸出:

Java學習筆記之異常處理

3.自定義異常進行處理

class MyException extends Exception{  //自定義異常,通過super方法傳遞異常信息給父級
 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("請輸入一個數值進行判斷:");
  Scanner scanner = new Scanner(System.in);
  int one =scanner.nextInt();
  if(one<100)
  {
   throw new MyException(); //將自定義異常進行拋出  
  }
 } 
}

輸出:

Java學習筆記之異常處理

三.異常鏈

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

示例:

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();
 } 
}

輸入結果:

Java學習筆記之異常處理

這樣的話顯示出的異常就只有一個了,那我們如果想讓這條異常鏈中的所有異常信息全部輸出該怎么辦呢?方法很簡單,我們在拋出異常的時候將異常對象也當作參數進行拋出就行了。

示例:

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");
 } 
}

運行結果:

Java學習筆記之異常處理

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

赤水市| 青龙| 儋州市| 广灵县| 四平市| 舟山市| 汾阳市| 乌鲁木齐县| 庄河市| 关岭| 扶沟县| 崇文区| 炎陵县| 酉阳| 阜阳市| 雅安市| 东丰县| 西贡区| 呼玛县| 南宁市| 鹤庆县| 庆阳市| 竹北市| 天长市| 武宁县| 淮阳县| 泰和县| 方城县| 海门市| 大名县| 葵青区| 岑巩县| 漳浦县| 和顺县| 武威市| 渑池县| 辽阳市| 城固县| 汨罗市| 塔城市| 沂水县|