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類庫中使用 佈局管理器來管理控件在窗口中的佈局。
佈局管理器的種類:BorderLayout
、FlowLayout
、GridLayout
、GridBagLayout
事件監聽機制: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();
}