


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、尚學堂科技_馬士兵_JAVA視頻教程_J2SE_5.0勇04章_異常處理 聽課筆記第四章Java異常處理2009-11-27 19:16:10 - 2009-12-1五個關鍵詞:try catch fin ally throw throws一、異常的概念 Java異常是Java提供的用于處理程序中錯誤的一種機制。所謂錯誤是指在程序運行的過程中發生一些異常事件(如:除0溢出,數組下標越界,所要讀取的文件不存在)。設計良好的程勛應該在異常發生時提供處理這些錯位的方法,使得程序不會因 為異常的發生而阻斷或產生不可預見的結果。 Java程勛的執行過程中如出現異常事件,可以生成一個異常類,該異常類封裝
2、了異常事件的信息并將被提交給Java運行時的系統,這個過程稱為拋出(throw)異常。當Java運行時系統接收到異常對象時,會尋找能處理這一異常的代碼并把當 前異常對象交給其處理,這一過程稱為捕獲(catch)異常。例子:public class TestEx public static void main( Stri ng args) try / 0); catch (ArithmeticException ae) /自己定義的異常類對象名,系統將異常對象傳 遞給ae里面,ae相當于形參("出錯了 ");ae.printStackTrace();常用的辦法:把錯誤的堆棧信
3、息打印出來!系統默認也是打印 誤的堆棧信息。public void aomcMcthod()someMethod (); catch (SameException e) 方法是瓦諾梢出異常的尚學堂科技_馬士兵_JAVA視頻教程_J2SE_5.0勇04章_異常處理 聽課筆記二、異常的分類J2SDK中定義了很多異常類,這些類對應了各種各樣可能出現的異常事件 Error Exception (in java.lang) ClassNotFoundExceptionIOExceptionI rrt erruptedExceptionRunt-imeException ArithmeticExcepti
4、on NullPoin七弊irEscu電 IndexOutOfBoundsException Axry I ndexOu 七Ob Bo Linds Els:七。門 S七ringlndexOutObBoundsExaep"tionT hrov/ble$稱為錯i士 *由JaviaIA- 11 IfExceptionRuntimEw plion示地聲明或者捕獲。 Run time Exception :一類特殊的異常,如被0除。數組下標超出范圍等,其產 生比較頻繁,處理麻煩,如果顯示地聲明或捕獲將對程勛可讀性和運行效率影響很大。因此由系統 自動檢測并將它們交給缺省的異常處理程序(用戶可不比
5、對其處理)。(不同方法會拋出不同的異常,具體情況應參考API文檔,方法后面跟上throw必須catch)尚學堂科技_馬士兵_JAVA視頻教程_J2SE_5.0勇04章_異常處理 聽課筆記三、異常的捕獲和處理Try可能拋出異常的語句Try沒有捕獲到井常時Try語句1;語句2:catch(Some Exception 1 e ) catch(SomeException2 e ) ffinally»I后面的語句金代碼段包含可能產生例外的代碼catch(SomeExcepti on1 e ) Try代碼段后跟有一個或多個catch代碼段catch(SomeException2 e )每個ca
6、tch代碼聲明其能處理的一種特定類型的異常并 提供處理方法.當異常發生時,程序會中止當前的流程,根據獲取異常的類型去執行仙ally相應的catch代碼段捕獲 Some Exception 2 時Ry語句1;語旬2; catch(SomeExcep tionl e ) catch(Some Exception e )Ifinally)后面的語句。Fin ally段的代碼無論是否發生異常都要執行.Try語句1. Try語句指定了一段代碼,該代碼是一次捕獲并處理例外的范圍。2. 在執行過程中,該段代碼可能會產生并拋出一種或多種異常類型的對象,它后 面的catch語句要分別對這些異常做相應的處理。3.
7、 如果沒有列外產生,所有的catch代碼都被略過不執行。Catch語句1. 在catch語句塊中是對異常進行處理的代碼,每個try語句塊可以伴隨一個或多個catch語句,用于處理可能產生的不同類型的異常對象。2. 在catch中聲明的異常對象(catch(SomeException e)封裝了異常事件發生的信 息,在catch語句塊中可以使用這個對象的一些方法獲取這些信息。3. 例如:1) getMessage(方法,用來的到有關異常事件的信息。2) pri ntStackTrace()方法,用來跟蹤異常事件發生時執行堆棧的內容。Finally 語句1. Fin ally語句為異常處理提供一個
8、統一的出口,使得在控制流程轉到程序的其他 部分以前,能夠對程序的狀態作統一的管理。2. 無論try所指定的程序塊中是否拋出列外,fin ally所指定的代碼都要被執行。3. 通常在fin ally語句中可以進行資源的清除工作,如:關閉打開的文件,刪除臨 時文件。尚學堂科技_馬士兵_JAVA視頻教程_J2SE_5.0勇04章_異常處理 聽課筆記例子程序:public class TestEx public static void main( Stri ng args) FileI nputStream in = nu II;try in = new FileI nputStream("
9、myfile.txt");int b;b = in. read();while (b != -1) b = in. read(); catch (IOExcepti on e) /* catch (FileNotFoundException e) e.pri ntStackTrace();*/ fin ally try in .close(); catch (IOExcepti on e) e.pri ntStackTrace();readFilef )throws IQException,methodl) Jthrows IOException readFile()method2( Jthrows IOException methodl ()拋出拋出Public static main(String s) TryMethod2() catch(IOException e)拋出Java的例外處理機制是的 例外事件沿著被調用的順 序往前尋找,只要找到符 合例外種類的例外處理程尚學堂科技_馬士兵_JAVA視頻教程_J2SE_5.0勇04章_異常處理聽課筆記四、異常處理的其他問題1. 必須先catch較小的異常,再catch大的2.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西省忻州市部分學校2025屆九年級下學期中考二模數學試卷(含解析)
- 疼痛醫療服務行業行業痛點與創新解決方案案例分析報告
- 2025年工業污染場地修復技術選擇與成本效益評估與政策實施效果報告
- 醫藥流通行業供應鏈成本控制與可持續發展研究
- 2025年新能源汽車廢舊電池回收利用產業技術創新趨勢預測與市場前景分析報告
- 綠色轉型對資源型城市生態環境保護的推動與影響報告
- 零售私域流量運營實戰技巧與用戶忠誠度管理報告
- 食品飲料包裝行業可持續發展目標與路徑規劃報告
- 2025年環境影響評價公眾參與機制與環境保護公眾參與效果評估指標體系創新報告
- 2025年四川省德陽市中考理綜物理試題【含答案、解析】
- 產能置換相關政策梳理
- 小兒清熱止咳口服液產品知識-課件
- 鋼 筋 檢 查 記 錄 表(鋼筋加工及安裝)
- 園林綠化工程設計招標文件案例
- 附件9:未取得國外國籍的聲明
- 2022版義務教育語文課程標準(2022版含新增和修訂部分)
- 新題型大綱樣題(考研英語一)
- 幼兒園課件:《鉛筆不能咬》
- Blue Planet Ⅱ《藍色星球2(2017)》第一季第一集完整中英文對照劇本
- 沒有斑馬線的馬路課件
- excel自動生產計劃排程(至柔Ⅱ)
評論
0/150
提交評論