通過代碼實(shí)例跟我學(xué)Java語言程序設(shè)計及應(yīng)用技術(shù)-異常處理技術(shù)教學(xué)示例_第1頁
通過代碼實(shí)例跟我學(xué)Java語言程序設(shè)計及應(yīng)用技術(shù)-異常處理技術(shù)教學(xué)示例_第2頁
通過代碼實(shí)例跟我學(xué)Java語言程序設(shè)計及應(yīng)用技術(shù)-異常處理技術(shù)教學(xué)示例_第3頁
通過代碼實(shí)例跟我學(xué)Java語言程序設(shè)計及應(yīng)用技術(shù)-異常處理技術(shù)教學(xué)示例_第4頁
通過代碼實(shí)例跟我學(xué)Java語言程序設(shè)計及應(yīng)用技術(shù)-異常處理技術(shù)教學(xué)示例_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、通過代碼實(shí)例跟我學(xué)Java語言程序設(shè)計及應(yīng)用技術(shù)異常處理技術(shù)教學(xué)例如1、體驗(yàn)Java中的異常為編程帶來的好處防止出現(xiàn)“意外錯誤1添加一個異常ExceptionDemo2設(shè)計一個簡單的程序package com.px1987.exception;public class ExceptionDemo public ExceptionDemo() public int twoDigitDiv(int x, int y)int z=x/y;return z;public static void main(String args) ExceptionDemo oneExceptionDemo=new E

2、xceptionDemo();int result=oneExceptionDemo.twoDigitDiv(1, 2);System.out.println(計算的結(jié)果為:+result);package com.px1987.j2seexample.exception;public class ExceptionDemo public ExceptionDemo() public float twoDigitDiv(int x, int y)float z=x/y;return z;public static void main(String args) ExceptionDemo one

3、ExceptionDemo=new ExceptionDemo();float result=oneExceptionDemo.twoDigitDiv(1, 2);System.out.println(計算的結(jié)果為:+result);package com.px1987.j2seexample.exception;public class ExceptionDemo public ExceptionDemo() public float twoDigitDiv(int x, int y)float z=(float)x/y;return z;public static void main(St

4、ring args) ExceptionDemo oneExceptionDemo=new ExceptionDemo();float result=oneExceptionDemo.twoDigitDiv(1, 2);System.out.println(計算的結(jié)果為:+result);此時的程序不會出現(xiàn)任何的問題錯誤!但其實(shí)是有“隱藏錯誤3如果處理的數(shù)據(jù)為下面的數(shù)據(jù)3、如何解決上面的問題保證或者盡可能不出現(xiàn)上面的錯誤1利用條件語句識別驗(yàn)證數(shù)據(jù)的有效性package com.px1987.j2seexample.exception;public class ExceptionDemo pub

5、lic ExceptionDemo() public int twoDigitDiv(int x, int y)if(y=0)System.out.println(第二個數(shù)不能為零,請重新輸入!);return 0;int z=x/y;return z;public static void main(String args) ExceptionDemo oneExceptionDemo=new ExceptionDemo();int result=oneExceptionDemo.twoDigitDiv(1, 0);System.out.println(計算的結(jié)果為:+result);2改良上

6、面的代碼引入Java中的異常處理技術(shù)public int twoDigitDiv(int x, int y) throws Exception if(y=0)throw new Exception();int z=x/y;return z;4、體驗(yàn)在代碼中對異常處理的正確方法1采用try-catchpublic static void main(String args) ExceptionDemo oneExceptionDemo=new ExceptionDemo();int result=0;tryresult=oneExceptionDemo.twoDigitDiv(1, 0);catc

7、h(Exception e)System.out.println(twoDigitDiv方法出現(xiàn)了錯誤!);System.out.println(計算的結(jié)果為:+result);2不處理不采用try-catch,但此時必須繼續(xù)“拋棄上傳public static void main(String args) throws Exception ExceptionDemo oneExceptionDemo=new ExceptionDemo();int result=0;result=oneExceptionDemo.twoDigitDiv(1, 0);System.out.println(計算的

8、結(jié)果為:+result);5、體驗(yàn)UnChecked和Check類型的異常在處理方面的不同要求1對于UnChecked類型的異常,在代碼中可以不需要進(jìn)行“處理try-catch2將twoDigitDiv方法的異常類型改變?yōu)锳rithmeticException類型package com.px1987.exception;public class ExceptionDemo public ExceptionDemo() public int twoDigitDiv(int x, int y) throws ArithmeticExceptionif(y=0)throw new Arithmeti

9、cException();int z=x/y;return z;public static void main(String args) ExceptionDemo oneExceptionDemo=new ExceptionDemo();int result=0;result=oneExceptionDemo.twoDigitDiv(1, 0);System.out.println(計算的結(jié)果為:+result);上面的main作為twoDigitDiv方法的使用代碼,可以不去“理會它!6、體驗(yàn)自定義異常類型的應(yīng)用1添加自己的異常類型DivExceptionpackage com.px198

10、7.exception;public class DivException extends Exception public DivException() public DivException(String message) super(message);public DivException(Throwable cause) super(cause);public DivException(String message, Throwable cause) super(message, cause);2在工程中應(yīng)用自己的異常類型拋出、定義、捕獲等方面package com.px1987.ex

11、ception;public class ExceptionDemo public ExceptionDemo() public int twoDigitDiv(int x, int y) throws DivException if(y=0)throw new DivException (在進(jìn)行除法運(yùn)算時出現(xiàn)了分母為0的錯誤,系統(tǒng)不能正確地進(jìn)行計算);int z=x/y;return z;public static void main(String args) ExceptionDemo oneExceptionDemo=new ExceptionDemo();int result=0;tr

12、yresult=oneExceptionDemo.twoDigitDiv(1, 0);catch(DivException e)System.out.println(出現(xiàn)的錯誤為:+e.getMessage();System.out.println(計算的結(jié)果為:+result);3再執(zhí)行上面的代碼7、正確地進(jìn)行異常處理編程1代碼例如try Statement stat = conn.createStatement(); ResultSet rs = stat.executeQuery(select id, name from userInfo); while (rs.next() out.println(ID: + rs.getString(id)+,姓名: + rs.getString(name); conn.close(); out.close(); catch(Exception ex) ex.printStackTrace(); 2主要的問題:不指定具體的異常catch語句表示我們預(yù)期會出現(xiàn)某種異常,而且希望能夠處理該異常。catch(Exception ex)就相當(dāng)于想要處理幾乎所有的異常,但真正想要捕獲的異常其實(shí)是SQLException和IOException。3主要的問題:ex.printStackTrace() 這段代碼捕獲了異常卻不作任何處理因?yàn)檎{(diào)用pri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論