• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • Java面向對象
    Java異常
    Java數組
    Java常用類
    Java集合
    Java IO流
    Java線程
    Java反射
    Socket編程
    Java注解開發
    Java GoF設計模式
    HashMap
    Java內存模型
    Java線性表

    Java異常簡介

     

     

    異常就是在程序的運行過程中出現的不正常現象導致了程序中斷,之前遇到的異常有哪些?

     

    ● 空指針異常: NullPointerException

     

    ● 類型轉換異常:ClassCastException

     

    ● 算術異常: ArithmeticException

     

    在java中, 把一些不正常現象進行了抽象, 形成了一些異常類。

     

     

    在Throwable類的getMessage()/printStackTrace()這兩個方法,所有的異常都有。

     

    編譯時異常,也稱受檢異常是指在編譯前必須進行預處理, 并不是說這個異常在編譯階段發生,所有的異常都是在運行階段才可能發生. 就像樓道中必須有滅火器與消防栓, 如果沒有這些設備, 就沒有安全證, 沒有這個安全證,企業就不能生產. 企業必須有火災的預處理措施, 火災現在并沒有發生。

     

    編譯階段進行語法檢查, Java的語法有很多條, 其中一語語法是: 對于受檢異常必須進行預處理。

     

    package com.wkcto.chapter02.demo01;
    /**
     * 運行時異常都是RuntimeException類的子類 
     * 	不需要進行預處理, 
     * 	通過規范的代碼進行規避
     * @author 蛙課網
     *
     */
    public class Test01 {
    	public static void main(String[] args) {
    		int x = 10;
    		int y = 2;
    //		divide(x, y); 		//10/2=5
    //		divide(10, 0);		//這一行產生了異常,導致了程序中斷, 程序不再繼續向下執行
    		
    		divide22(x, y);
    		divide22(10, 0);
    		
    		System.out.println("main....end...");
    	}
    	
    	//定義方法,計算兩個整數的商, 沒有判斷除數為0的情況
    	public static void divide( int num1, int num2) {
    		int result = num1/num2;
    		System.out.println( num1 + "/" + num2 + "=" + result);
    	}
    	//定義方法,計算兩個整數的商, 通過判斷除數為0避免出現算術異常
    	public static void divide22( int num1, int num2) {
    		if ( num2 == 0  ) {
    			System.out.println("除數不能為0");
    			return ;			//結束方法的執行
    		}
    		int result = num1/num2;
    		System.out.println( num1 + "/" + num2 + "=" + result);
    	}
    }
    

     

    package com.wkcto.chapter02.demo01;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    
    /**
     * 演示編譯時異常
     * 		受檢異常, 受控異常
     * @author 蛙課網
     *
     */
    public class Test02 {
    
    	public static void main(String[] args) {
    		
    		//讀取d:/abc.txt文件中的內容, 使用了FileInputStream類
    		
    		FileInputStream fis = new FileInputStream("d:/abc.txt");
    		//SUN在定義FileInputStream構造方法時, 通過 throws關鍵字聲明了FileNotFoundException異常,
    		//這個異常就是受檢異常, 即在定義方法時, 通過throws聲明的異常
    		//受檢異常在編譯前必須進行預處理, 否則編譯語法報錯
    	}
    
    }

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏