1. 程式人生 > 實用技巧 >SDRAM--Verilog及模擬(1)

SDRAM--Verilog及模擬(1)

異常處理

在程式的編輯和執行期間,會產生人為疏忽或不可避免的程式異常。因此出現了異常處理機制,將java中的異常來封裝到一個類中,當遇到錯誤時,就會丟擲異常。異常處理機制提高了程式的可維護性和可閱讀性。

異常處理相當於一個安全護欄,如果馬路沒有安全護欄,汽車行駛過程中如發生偏離 會直接衝出馬路導致更嚴重的後果。異常處理也是同理,在進行一些程式之外的操作或發生不可控的因素時,能夠制止。如果沒有進行異常處理,會導致程式直接終止。

異常處理的關鍵字:try、catch、finally、throw、throws

異常處理大致分為兩個環節

  1. 丟擲異常:使用try關鍵字生成一個程式碼塊,將程式碼放入程式碼塊中

  2. 捕獲異常:使用catch關鍵字進行捕獲,在catch的括號裡輸入異常的型別,如果try內的程式碼出現這個問題,則執行catch程式碼塊中的內容。

package com.exception;

public class Demo01 {
public static void main(String[] args) {
//0不能作為被除數,當a除以b時,會報錯。
int a = 1;
int b = 0;

try {//try監控區域
System.out.println(a/b);//被監控的程式碼
}catch (ArithmeticException e){//捕獲異常區域
System.out.println("異常!!");//如果符合這種型別的異常,就輸出
}finally{//作為善後區域,無論有沒有異常都會執行。
System.out.println("finally");
}
}
}

快捷鍵 : ctrl + Alt + T 自動開啟快捷欄,可以選擇if、if()else、for、switch……等,當然也包含try、catch、finally。

在異常中,可以大體分為錯誤Error 與 異常Exception兩種形態,Error是不可預見的,一般是程式記憶體棧溢位之類不是程式主觀原因導致的執行時錯誤。 Exception則屬於人為因素導致的異常,如編輯程式碼出現的錯誤導致異常,或使用者未規範操作程式等因素。java中所有的異常是被Throwable涵蓋的。一些常見的異常如下:

catch可以重複使用多個,但捕獲的異常需要按照異常的大小來排列,由小到大。

package com.exception;

public class Demo02 {
public static void main(String[] args) {
int a = 1;
int b = 0;

try {
System.out.println(a/b);
} catch (Error e) {
System.out.println("Error");
}catch (Exception e){
System.out.println("Exception ");//該異常為Exception
}catch (Throwable t){
System.out.println("Throwable");
}finally {
}
}
}