java畢向東聽課筆記10(異常)

2021-07-10 23:08:23 字數 793 閱讀 9282

異常:

一般情況下,函式內出現異常,函式上需要宣告。

發現列印的結果中只有異常的名稱,卻沒有異常的資訊。因為自定義的異常並未定義資訊。

如何定義異常資訊呢?

因為父類中已經把異常資訊的操作都完成了。

所以子類只要在構造時,將異常資訊傳遞給父類通過super語句。

那麼就可以直接通過getmessage方法獲取自定義的異常資訊。

自定義異常:

必須是自定義類繼承exception。

繼承exception原因:

異常體系有乙個特點:因為異常類和異常物件都被丟擲。

他們都具有可拋性,這個可拋性是throwable這個體系中獨有特點。

只有這個體系中的類和物件才可以被throws和throw操作。

exception中有乙個特殊的子類異常runtimeexception:執行時異常

如果在函式內容丟擲該異常,函式上可以不用宣告,編譯一樣通過;

如果在函式上宣告了該異常,呼叫者可以不用進行處理,編譯一樣通過;

之所以不用再函式宣告,是因為不需要讓呼叫者處理。

當該異常發生,希望程式停止,因為在執行時,出現了無法繼續運算的情況,希望停止程式後,對**進行修正。

異常分為兩類:

1:編譯時被檢測的異常

2:編譯時不被檢測的異常(即runtimeexception及其子類)

finally非常重要

定義一定執行的**。通常用於關閉資源。

catch適用於處理異常的,如果沒有catch就代表異常沒有被處理過,如果該異常時檢測時異常,那麼必須宣告。

java畢向東聽課筆記14(執行緒3)

死鎖 為什麼出現 同步中巢狀同步,而鎖卻不同。在開發中,應該盡量避免死鎖。執行緒間的通訊 其實就是多個執行緒在操作同一資源,但是操作的動作不同。等待喚醒機制 wait notify notifyall 都使用在同步中,因為要對持有監視器 鎖 的執行緒操作。所以要使用在同步中,因為只有同步才有鎖。為什...

java畢向東聽課筆記17(字串1)

string s1 abc 其中s1是乙個類型別變數,abc 是乙個物件。字串最大的特點 一旦被初始化就不可以被改變。如果在接下來的語句中寫出s1 kk 只能說明s1的位址變了,指向了 kk 物件,而在記憶體中,abc 物件並沒有變,所以成為一旦初始化就不可以改變。字串也可以這樣初始化 string...

java畢向東聽課筆記18(字串2)

string類適用於描述字串事物。那麼它就提供了多個方法對字串進行操作。常見的操作有哪些?1.獲取。1.1 字串中的包含的字元數,也就是字串的長度。int length 獲取長度 1.2 根據位置獲取位置上某個字元。char charat int index 1.3 根據字元獲取該字元在字串中的位置...