異常:在java程序中也出現不正常的狀況,這個就叫異常。java是面向對象的語言。任何事物均可以用類來描述,一樣異常也是一種事物,java中提供了不少異常類java
不少異常堆積起來叫作異常體系jvm
Throwable -------------全部異常的父類學習
--------------error對象
--------------exception繼承
類的完整的名稱: 包名 +類名內存
1.toString()//對throwable 的簡短描述 類的完整的名稱 message的信息也會打印出來資源
2.getMessage() //throwable的詳細信息字符串字符串
3.printStrackTrace //打印的是異常時棧內存get
Error 錯誤虛擬機
錯誤通常是java虛擬機或者硬件致使的問題,因此咱們通常不會用代碼來處理錯誤
Exception 全部的異常都繼承與Exception
異常和錯誤的區別:
若是程序出現不正常的狀況,信息的結尾是以Error就是錯誤,其餘的都是異常
異常的處理:
方式1:捕獲處理
捕獲處理的格式:
Try(){
可能發生的異常的代碼
}catch(捕獲的異常的類型 變量名){
異常的處理
}
捕獲異常處理的注意點:
異常捕獲到底有什麼用?
目前還看不出用處,在學習javaEE就頗有用
爲何不直接用一個大的異常?
爲了讓咱們快速的找到錯誤點
方式2:拋出處理(throw throws)
Throw,throws使用注意點:
拋出異常使用的注意點:
何時拋出異常?何時不拋?
須要通知你的調用者,你的代碼可能存在問題,這個時候就須要拋出異常
若是你的代碼是直接和用戶打交道的時候遇到以遇到異常,就須要本身處理
有時候異常必須聲明,有時候能夠不聲明
Exception
--------》運行時異常:拋出運行時異常,是能夠不用在方法上聲明異常
-------》編譯時異常:拋出編譯時異常,方法上必須聲明異常,調用者也必需要處理
如何區分編譯時和運行時異常:
屬於運行時異常:是RuntimeException 或者繼承與他的子類的都是運行時異常
屬於編譯時異常:除了運行時異常,其餘的都是編譯時異常(最大的異常Exception(異常超類)是編譯時異常)
Finally 塊
Finally 塊 和try 一塊兒用
Finally:不管出了什麼問題,finally中的代碼塊都會執行,除非jvm退出了,代碼纔不會執行
Finally 很是適合作資源釋放的工做,這樣就能夠保證我這資源文件在任什麼時候候均可以被釋放
Java中的包:至關於電腦中的文件夾
包:能夠將編譯的class文件放入到指定的包中
定義包:
Package 關鍵字定義包
不一樣的包中類與類之間的訪問注意點:
能夠用導包來解決問題3
導包用關鍵字:import
導包格式:
Import 包名1 . 包名2……類名;
Import 包名 . *; 直接導入全部
推薦使用第一種導包方法
使用包的好處:
使用包注意點: