Java編程思想 異常處理機制 Lambda表達式

java中的異常處理機制

1、java中的異常處理機制

創建異常對象—–停止當前執行路徑——拋出異常對象的引用——–異常處理器處理

2、異常處理機制的好處

異常分隔了兩部分代碼:

一部分是描述我們想做什麼的代碼(業務邏輯),另一部分是程序運行出錯時執行的代碼(異常處理代碼)。

3.捕獲異常

使用try塊,就算方法拋出了異常也不會結束。

Java支持終止模型,這種模型中,將假設錯誤非常關鍵,以致於程序無法返回異常發生的地方繼續執行。

創建自己的異常類:

finally無論如何都會被執行,catch(Exception e)能捕獲所有的異常,一般放在最後。

只處理第一個匹配上的catch,之後的不執行。

異常說明屬於方法聲明的一部分,緊跟在形式參數列表之後。

class SimpleException extends Exception {}
public class Test{  
    public void f() throws SimpleException{//注意異常的聲明
        System.out.println("f()");
        throw new SimpleException();//拋出異常
    }   
    public static void main(String[] argv) {
        Test a = new Test();
        try {
            a.f();
        }catch(SimpleException e) {//匹配異常
            System.out.println("Caught it!");
        }catch(Exception e) {//不執行
            System.out.println("all the exceptions");
        }finally {//無論如何都會被執行
            System.out.println("finally");
        }
    }   
}

調用Throwable類的printStackTrace()方法,那麼“從異常方法調用處直到異常拋出處”的方法調用序列將被打印出來。如果括號里加上System.out,將被自動捕獲和顯示在輸出中。如果括號裏什麼都沒有,則信息將被輸出到標準錯誤流。

二十一、二十二章

1.基本概念:

進程:一段可執行的程序。一個進程包含多個線程。

線程:某一順序的執行流程,可看作進程的一個任務。

並行:多任務同時進行。併發:通過調度使任務交替進行。並行和併發用戶體驗相同。

2.實現線程類的兩種方法:

(1)繼承自Tread類重寫其run() 方法;

(2)實現Runnable接口並編寫run()方法。

3.圖形化用戶界面:

Swing類庫中使用 佈局管理器來管理控件在窗口中的佈局。

佈局管理器的種類:BorderLayoutFlowLayoutGridLayoutGridBagLayout

事件監聽機制:Swing類庫中,如果想對控件的單擊事件進行響應,可以實現接口ActionListener中的actionPerformed()方法。

Lambda表達式

1.對容器類中元素進行迭代
List<Integer> a = new ArrayList<Integer>();
Collections.addAll(a, 1,2,3);
a.forEach(x -> System.out.println(x));
2.替代匿名類
interface Contents{
    void value();
}
public class Test {
    public static void PContents(Contents con) {
        con.value();
    }
    public static void main(String[] argv) {
        PContents(()->System.out.println("a")); 
    }
} 
public void oldRunable() {
        new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("The old runable now is using!");
            }
        }).start();
    }
public void runable() {
        new Thread(() -> System.out.println("It's a lambda function!")).start();
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章