![第7章異常處理_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/8dcfd155-98df-4380-b6ca-fdb33f4ce941/8dcfd155-98df-4380-b6ca-fdb33f4ce9411.gif)
![第7章異常處理_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/8dcfd155-98df-4380-b6ca-fdb33f4ce941/8dcfd155-98df-4380-b6ca-fdb33f4ce9412.gif)
![第7章異常處理_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/8dcfd155-98df-4380-b6ca-fdb33f4ce941/8dcfd155-98df-4380-b6ca-fdb33f4ce9413.gif)
![第7章異常處理_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/8dcfd155-98df-4380-b6ca-fdb33f4ce941/8dcfd155-98df-4380-b6ca-fdb33f4ce9414.gif)
![第7章異常處理_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/8dcfd155-98df-4380-b6ca-fdb33f4ce941/8dcfd155-98df-4380-b6ca-fdb33f4ce9415.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 AWTError VirtualMachineError ArithmeticException ArrayIndexOutOfBoundsException Interrupted Exception Error Exception RuntimeException AWTException IOException LinkageError Throwable FileNotFoundException EOFException 1. java.lang.ArithmeticException 0作除數(shù)(包括模),將產(chǎn)生這類異常。作除數(shù)(包括模),將產(chǎn)生這類異常。例如:例如:int x=0
2、 , y; y=100/x ; 2. java.lang.ArrayIndexOutOfBoundsException 例如:例如:int a =new int10; a10=0; 7.1 異常的層次結(jié)構(gòu)異常的層次結(jié)構(gòu)( (續(xù)續(xù)) ) 3. java.lang.ArrayStoreException例如:例如:int a =new int10; boolean b =new boolean10; System.arraycopy(a,0,b,3,6); /有異常有異常 4. java.lang.ClassCastException例如:例如:Object obj=new Object( );
3、int a =(int ) (obj); 7.1 異常的層次結(jié)構(gòu)異常的層次結(jié)構(gòu)( (續(xù)續(xù)) ) 5. java.lang.IndexOutOfBoundsException 例如:例如:char ch=ABC.charAt(99); 注意注意: 2 是是5的子類。的子類。 6. java.lang.NegativeArraySizeException 例如:例如:int a =new int-10; 7.1 異常的層次結(jié)構(gòu)異常的層次結(jié)構(gòu)( (續(xù)續(xù)) ) 7. java.lang.NullPointerException 例如:例如:int a =null ; System.out.print(
4、a.length); public class DefaultException / 程序程序7-1 public static void main(String args ) int a,b=0;a=2/b; / 此處有異常此處有異常System.out.println(“a=”+a); / 不運(yùn)行此行不運(yùn)行此行 7.2 異常處理語(yǔ)句異常處理語(yǔ)句( (續(xù)續(xù)) ) 異常處理語(yǔ)句有異常處理語(yǔ)句有try、catch、finally、throw和和throws。異常處理的形式為:異常處理的形式為: try程序執(zhí)行體程序執(zhí)行體catch(異常類型異常類型1 異常對(duì)象異常對(duì)象1)異常處理程序體異常處理程
5、序體1catch(異常類型異常類型2 異常對(duì)象異常對(duì)象2)異常處理程序體異常處理程序體2finally 異常處理結(jié)束前的執(zhí)行程序體異常處理結(jié)束前的執(zhí)行程序體 public class TryCatchTest / 程序程序7-2 public static void main(String args ) int a=99,b=0,c; trySystem.out.println(產(chǎn)生異常之前產(chǎn)生異常之前);c=a/b; / 該行有異常該行有異常System.out.println(產(chǎn)生異常之后產(chǎn)生異常之后);catch(ArrayIndexOutOfBoundsException e) Sys
6、tem.out.println(處理下標(biāo)越界異常處理下標(biāo)越界異常);catch(ArithmeticException e) System.out.println(處理算術(shù)異常處理算術(shù)異常); System.out.println(異常處理結(jié)束異常處理結(jié)束); 注意:注意:用用catch語(yǔ)句捕捉異常時(shí),若找不到相匹配語(yǔ)句捕捉異常時(shí),若找不到相匹配的的catch語(yǔ)句,將執(zhí)行缺省的異常處理。語(yǔ)句,將執(zhí)行缺省的異常處理。例如:例如:int a=99,b=0,c; tryc=a/b; /產(chǎn)生的異常和捕捉的異常類型不一致產(chǎn)生的異常和捕捉的異常類型不一致 catch(ArrayIndexOutOfBoun
7、dsException e) System.out.println(處理異常處理異常); 注意:注意:當(dāng)有多個(gè)當(dāng)有多個(gè)catch語(yǔ)句時(shí),系統(tǒng)依照先后順語(yǔ)句時(shí),系統(tǒng)依照先后順序逐個(gè)檢查序逐個(gè)檢查 。例如:例如:tryc=a/b;catch(ArithmeticException e) System.out.println(Divided by zero);catch(RuntimeException e) System.out.println(Divided by zero); public class testFinally / 程序程序7-3 public static void main(
8、String args ) int a,b=0;for(int i=0;i=3;i+)System.out.println(Test No: +(i+1); tryswitch(i)case 0: a=3/b; break;case 1: int c =new int10; c10=0; break;case 2: char ch=ABC.charAt(99); break;case 3: return;catch(ArithmeticException e) System.out.println(“零作除數(shù)!零作除數(shù)!”); catch(ArrayIndexOutOfBoundsExcept
9、ion e) System.out.println(數(shù)組下標(biāo)越界!數(shù)組下標(biāo)越界!);catch(IndexOutOfBoundsException e) System.out.println(下標(biāo)越界!下標(biāo)越界!);finallySystem.out.println(在在finally塊中!塊中!); 程序運(yùn)行結(jié)果:程序運(yùn)行結(jié)果:Test No: 1 零作除數(shù)!零作除數(shù)! 在在finally塊中!塊中!Test No: 2 數(shù)組下標(biāo)越界!數(shù)組下標(biāo)越界! 在在finally塊中!塊中!Test No: 3 下標(biāo)越界!下標(biāo)越界! 在在finally塊中!塊中!Test No: 4 在在finall
10、y塊中!塊中! public class ThrowException / 程序程序7-4 public static void Test( ) tryint c =new int10;c10=0; catch(ArrayIndexOutOfBoundsException e) System.out.println(t 數(shù)組下標(biāo)越界!數(shù)組下標(biāo)越界!);throw e; / 拋出點(diǎn)拋出點(diǎn)/System.out.println(t產(chǎn)生異常后產(chǎn)生異常后!); public static void main(String args ) tryTest( );catch(IndexOutOfBounds
11、Exception e) System.out.println(t 下標(biāo)越界!下標(biāo)越界!);finallySystem.out.println(t 在在finally塊中!塊中!); 程序運(yùn)行結(jié)果:程序運(yùn)行結(jié)果:數(shù)組下標(biāo)越界!數(shù)組下標(biāo)越界!下標(biāo)越界!下標(biāo)越界!在在finally塊中!塊中! import java.io.*; / 程序程序7-6public class testThrows public static String readString( )throws IOExceptionint ch;String r=;boolean done=false;while(!done)ch=
12、System.in.read( );if(ch0 | ch=0 xd) done=true;elser = r + (char) ch; return r; 注意注意 public static void main(String args ) String str;try str=readString( );catch(IOException e) System.out.println(產(chǎn)生了輸出產(chǎn)生了輸出/輸出異常輸出異常); return;System.out.println(整數(shù)是:整數(shù)是:+Integer.parseInt(str); 第第1步:步:定義異常類。定義異常類。例如例如:c
13、lass userException extends Exceptionint n=0; / 計(jì)數(shù)器計(jì)數(shù)器userException( ) n+;userException(String s )super(s);n+; String show( ) return 自定義異常對(duì)象:自定義異常對(duì)象:+n; 第第2步:步:定義異常對(duì)象,并拋出該對(duì)象。定義異常對(duì)象,并拋出該對(duì)象。 例如例如:public class testException / 程序程序7-7 static void Test( ) throws userExceptionuserException e;e=new userExce
14、ption(自定義異常自定義異常 );throw e; public static void main(String args ) tryTest( );catch(userException e) System.out.println(e.show( ); class userException extends Exception / 程序程序7-8public userException( ) super(自定義異常自定義異常); public class getMessagespublic static void m1( ) throws userExceptionm2( );public static void m2( ) throws userExceptionthrow new userException( ); public static void main(String args ) trym1( ); catch(userException e) System.out.println(e.getMessage( );e.printStackTrace( );System.out.println(“
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北師大版道德與法治七年級(jí)下冊(cè)10.2《積極面對(duì)競(jìng)爭(zhēng)》聽(tīng)課評(píng)課記錄
- 粵人版地理七年級(jí)下冊(cè)《第一節(jié) 非洲概述》聽(tīng)課評(píng)課記錄
- 2025年天文測(cè)量?jī)x器合作協(xié)議書
- 加盟合作框架協(xié)議書范本
- 臨時(shí)棄土場(chǎng)土地租用協(xié)議書范本
- 2025年度網(wǎng)紅蛋糕店品牌授權(quán)轉(zhuǎn)讓合同
- 二零二五年度離婚協(xié)議書涉及子女醫(yī)療費(fèi)用承擔(dān)合同
- 2025年度農(nóng)業(yè)旅游租賃田地合同
- 2025年度期刊訂閱用戶信息保護(hù)合同
- 2025年度砍伐合同范文:林業(yè)砍伐與林業(yè)資源整合合作協(xié)議
- 前牙即刻種植的臨床應(yīng)用
- 2024-2025學(xué)年初中七年級(jí)上學(xué)期數(shù)學(xué)期末綜合卷(人教版)含答案
- 體育活動(dòng)策劃與組織課件
- 公司違規(guī)違紀(jì)連帶處罰制度模版(2篇)
- 2025屆高考物理二輪總復(fù)習(xí)第一編專題2能量與動(dòng)量第1講動(dòng)能定理機(jī)械能守恒定律功能關(guān)系的應(yīng)用課件
- T型引流管常見(jiàn)并發(fā)癥的預(yù)防及處理
- 2024-2025學(xué)年人教新版九年級(jí)(上)化學(xué)寒假作業(yè)(九)
- 內(nèi)業(yè)資料承包合同個(gè)人與公司的承包合同
- 【履職清單】2024版安全生產(chǎn)責(zé)任體系重點(diǎn)崗位履職清單
- 2022年全國(guó)醫(yī)學(xué)博士英語(yǔ)統(tǒng)一考試試題
- 《工業(yè)自動(dòng)化技術(shù)》課件
評(píng)論
0/150
提交評(píng)論