亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Java中異常處理的示例分析

發布時間:2021-11-19 14:17:40 來源:億速云 閱讀:115 作者:小新 欄目:開發技術

這篇文章主要介紹Java中異常處理的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

    異常的定義

    在java中,異常就是java在編譯、運行或運行過程中出現的錯誤

    總共有三種:1.編譯錯誤 2.運行錯誤 3.邏輯錯誤

    1.編譯錯誤是因為程序沒有遵循語法規則,編譯程序能夠自己發現并且提示我們錯誤的原因和位置,這個也是新手在剛接觸編程語言時經常遇到的問題。

    2.運行時錯誤是因為程序在執行時,運行環境發現了不能執行的操作。

    3.邏輯錯誤是因為程序沒有按照預期的邏輯順序執行。異常也就是指程序運行時發生錯誤,而異常處理就是對這些錯誤進行處理和控制。

    package org.oracle.test;
    
    public class TryDemo9 {
        public static void main(String[] args) {
        	        System.out.println(1/0);//0不能做除數
        	  
        	        System.out.println("你好");//程序捕獲異常,程序終止,不執行
        }
    }

    Java中異常處理的示例分析

    在代碼執行過程中遇到異常就會終止

    運行的結果里會告訴我們異常的類型,異常出現的位置

    異常的分類

    Java中異常處理的示例分析

    RuntimeException:運行時異常,一般不手動處理,出問題了再處理。

    其他Exception:必須要經過手動處理。

    Error:一般指的是系統級錯誤。

    異常的處理方法

    try…catch處理

    package org.oracle.test;
    import java.util.Scanner;
    public class TryDemo2 {
    	public static void main(String[] args) {
    		System.out.println(testOne());
    	}	
    	/*
    	 *  當try、catch、finally代碼塊中都有return語句,
    	 *  程序無論報錯與否都會執行finally里面的renturn語句
    	 */
    	public static double testOne() {
    		try {
    			Scanner sc = new Scanner(System.in);
    			System.out.println("請輸入第一個數字:");
    			int a = sc.nextInt();
    			System.out.println("請輸入第二個數字:");
    			int b = sc.nextInt();
    			int result = a / b;
    //			System.out.println("result:" + result);
    			System.out.println("執行了try塊");
    			return result;		
    		}catch (Exception e) {
    			e.printStackTrace();
    			return 0;
    		}finally {
    			return -1000;
    		}
    	}
    }

    運行結果:

    Java中異常處理的示例分析

    try-- 用于監聽。將要被監聽的代碼(可能拋出異常的代碼)放在try語句塊之內,當try語句塊內發生異常時,異常就被拋出。

    catch-- 用于捕獲異常。catch用來捕獲try語句塊中發生的異常。

    finally-- finally語句塊總是會被執行。它主要用于回收在try塊里打開的物力資源(如數據庫連接、網絡連接和磁盤文件)。

    throw 和throws

    throws表示方法準備要扔出來一個異常

    throw表示向外拋出異常

    package org.oracle.test;
    
    import java.util.InputMismatchException;
    
    public class TryDemo8 {
    	public static void main(String[] args) {
    		try {
    			testThree();
    		} catch (Exception e) {
    			System.out.println(e.getMessage());
    			e.printStackTrace();
    		}
    	}
    	public static void testOne() throws InputMismatchException{
    		throw new InputMismatchException();
    	}
    	public static void testTwo() throws Exception {
    		try {
    			testOne();
    		} catch (InputMismatchException e) {
    			throw new Exception("新異常1",e);
    		}
    	}
    
    	public static void testThree() throws Exception {
    		try {
    			testTwo();
    		} catch (Exception e) {
    			Exception e1 = new Exception("新異常2");
    			e1.initCause(e);
    			throw e1;
    		}
    	}
    }

    運行結果:

    Java中異常處理的示例分析

    自定義異常

    自定義異常:直接繼承Exception或者RuntimeException來是實現自定義異常

    package org.oracle.test;
    
    import java.util.Scanner;
    
    public class TryDemo6 {
    
    	public static void main(String[] args){
    		try {
    			hotelRule();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	/*
    	 * 	基帝開了個情侶酒店,基帝酒店規矩:18歲以下和80歲上以上客戶,需要家人陪同入住
    	 */
    	public static void hotelRule() throws Exception {
    		Scanner sc = new Scanner(System.in);
    		System.out.println("請輸入客戶年齡:");
    		int age = sc.nextInt();
    		if(age < 18 || age > 80) {
    			throw new HotelException();
    		}else {
    			System.out.println("成功入住");
    		}
    	}
    
    }
    package org.oracle.test;
    /*
     * 自定義異常需繼承Exception
     */
    public class HotelException extends Exception{
    
    	public HotelException() {
    		super("由于年齡問題,無法入住");
    	}
    	
    }

    運行結果:

    Java中異常處理的示例分析

    以上是“Java中異常處理的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

    向AI問一下細節

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

    AI

    开鲁县| 屏东市| 体育| 容城县| 民乐县| 云龙县| 弋阳县| 安平县| 陇川县| 和硕县| 吉水县| 丹巴县| 遵化市| 缙云县| 梁平县| 金昌市| 南召县| 平顶山市| 红河县| 油尖旺区| 阳泉市| 朝阳区| 三江| 犍为县| 云安县| 云龙县| 龙泉市| 海晏县| 临武县| 寻乌县| 镇康县| 双牌县| 吉林省| 祁阳县| 高清| 龙南县| 阆中市| 容城县| 穆棱市| 镇远县| 罗平县|