throwable是所有異常的根。
error是錯誤資訊,exception是異常資訊。
error:是程式中無法處理的錯誤,表示執行應用程式**現了嚴重的錯誤。此類錯誤一般表示**執行時jvm出現問題。
exception::程式本身可以捕獲並且可以處理的異常。
捕獲異常:try,catch,finally
丟擲異常:throw,throws
1.捕獲
trycatchfinally
可以捕獲多個異常,只需要多寫幾個catch即可,當有多個異常的時候,對已知的異常建議針對性的捕獲,未知的使用exception處理
當存在多個異常時,範圍較大 的寫在最後面
//這裡我們來測試一下異常
public
class
exceptiondemo
;printlnarr
(arr)
; system.out.
println
("-------voer-----------");
//捕獲到異常後能繼續往後執行
}//建立乙個方法
public
static
void
printlnarr
(int
arr)}}
catch
(nullpointerexception e)
finally
}
throw用在方法內,用來丟擲乙個異常物件,將這個異常物件傳遞到呼叫者處,並結 束當前方法的執行。
//throw 丟擲 拋的是異常物件
//throws 宣告 宣告的是異常類的型別,當有多個異常需要宣告時,使用逗號隔開
public
static
void
method()
throws arithmeticexception,nullpointerexception,myexception
else
}
捕獲和丟擲的區別點:
捕獲: 出現異常後進行了捕獲,那麼程式任然可以正常執行;
丟擲:丟擲僅僅只是將問題丟擲去了,對丟擲去的異常如果沒有進行捕獲,那最終還是交由了虛擬機器來處理,結果就是報錯,停止執行
/**
* 自定義異常必須要進行宣告
*/public
static
void
mymethod()
throws myexception
//自定義異常如何能加入異常體系中,因為虛擬機器只能識別異常體系中的異常及錯誤
//*
//* 不建議直接繼承throwable,因為throwable包含了錯誤及異常,自定義的是異常,不應該含有錯誤相關的資訊
public
class
myexception
extends
exception
public
myexception
(string s)
}
異常 自定義異常
package test 01 練習 計算成績的平均值 異常的情況 成績為負數 me 總結 練習寫好乙個程式,思路最重要要做到心中有數,當計算成績的平均值,定義乙個方法,最後這個方法返回平均數即可 關鍵在於 方法的引數是啥?返回值型別是啥?當然是乙個陣列 可變引數組int grades int型別 ...
異常 自定義異常
自己定義的異常類,也就是api中的標準異常類的直接或間接的子類 用自定義異常標記業務邏輯的異常,避免與標準異常混淆 1 建立自定義異常類 2 在方法中通過throw關鍵字拋出自定義異常 public class customexception extends exception 3 呼叫throws...
7 自定義異常 如何自定義異常???
自定義異常類時,需要繼承exception類或其子類 一般多繼承自exception或runtimeexception 如果繼承exception,則為檢查異常,必須處理 如果繼承runtimeexception,則為執行時異常,可以不處理 public class test public stat...