




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 AWTError VirtualMachineError ArithmeticException ArrayIndexOutOfBoundsException Interrupted Exception Error Exception RuntimeException AWTException IOException LinkageError Throwable FileNotFoundException EOFException 1. java.lang.ArithmeticException 0作除数(包括模),将产生这类异常。作除数(包括模),将产生这类异常。例如:例如:int x=0
2、 , y; y=100/x ; 2. java.lang.ArrayIndexOutOfBoundsException 例如:例如:int a =new int10; a10=0; 7.1 异常的层次结构异常的层次结构( (续续) ) 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 异常的层次结构异常的层次结构( (续续) ) 5. java.lang.IndexOutOfBoundsException 例如:例如:char ch=ABC.charAt(99); 注意注意: 2 是是5的子类。的子类。 6. java.lang.NegativeArraySizeException 例如:例如:int a =new int-10; 7.1 异常的层次结构异常的层次结构( (续续) ) 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); / 不运行此行不运行此行 7.2 异常处理语句异常处理语句( (续续) ) 异常处理语句有异常处理语句有try、catch、finally、throw和和throws。异常处理的形式为:异常处理的形式为: try程序执行体程序执行体catch(异常类型异常类型1 异常对象异常对象1)异常处理程序体异常处理程
5、序体1catch(异常类型异常类型2 异常对象异常对象2)异常处理程序体异常处理程序体2finally 异常处理结束前的执行程序体异常处理结束前的执行程序体 public class TryCatchTest / 程序程序7-2 public static void main(String args ) int a=99,b=0,c; trySystem.out.println(产生异常之前产生异常之前);c=a/b; / 该行有异常该行有异常System.out.println(产生异常之后产生异常之后);catch(ArrayIndexOutOfBoundsException e) Sys
6、tem.out.println(处理下标越界异常处理下标越界异常);catch(ArithmeticException e) System.out.println(处理算术异常处理算术异常); System.out.println(异常处理结束异常处理结束); 注意:注意:用用catch语句捕捉异常时,若找不到相匹配语句捕捉异常时,若找不到相匹配的的catch语句,将执行缺省的异常处理。语句,将执行缺省的异常处理。例如:例如:int a=99,b=0,c; tryc=a/b; /产生的异常和捕捉的异常类型不一致产生的异常和捕捉的异常类型不一致 catch(ArrayIndexOutOfBoun
7、dsException e) System.out.println(处理异常处理异常); 注意:注意:当有多个当有多个catch语句时,系统依照先后顺语句时,系统依照先后顺序逐个检查序逐个检查 。例如:例如: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(“零作除数!零作除数!”); catch(ArrayIndexOutOfBoundsExcept
9、ion e) System.out.println(数组下标越界!数组下标越界!);catch(IndexOutOfBoundsException e) System.out.println(下标越界!下标越界!);finallySystem.out.println(在在finally块中!块中!); 程序运行结果:程序运行结果:Test No: 1 零作除数!零作除数! 在在finally块中!块中!Test No: 2 数组下标越界!数组下标越界! 在在finally块中!块中!Test No: 3 下标越界!下标越界! 在在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 数组下标越界!数组下标越界!);throw e; / 抛出点抛出点/System.out.println(t产生异常后产生异常后!); public static void main(String args ) tryTest( );catch(IndexOutOfBounds
11、Exception e) System.out.println(t 下标越界!下标越界!);finallySystem.out.println(t 在在finally块中!块中!); 程序运行结果:程序运行结果:数组下标越界!数组下标越界!下标越界!下标越界!在在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(产生了输出产生了输出/输出异常输出异常); return;System.out.println(整数是:整数是:+Integer.parseInt(str); 第第1步:步:定义异常类。定义异常类。例如例如:c
13、lass userException extends Exceptionint n=0; / 计数器计数器userException( ) n+;userException(String s )super(s);n+; String show( ) return 自定义异常对象:自定义异常对象:+n; 第第2步:步:定义异常对象,并抛出该对象。定义异常对象,并抛出该对象。 例如例如: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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吴家窑11号线施工方案
- 路基堆土预压施工方案
- 提灌站维护施工方案
- 福建海鲜冷库施工方案
- 钻空施工方案
- 年加工300万吨尾矿废料改扩建及技术改造项目环评报告表
- 一级建造师沥青施工方案
- 海南汽车变速箱保税维修项目环评报告表
- 苍南县二模数学试卷
- 洛阳户外儿童游乐施工方案
- 安徽2025年安徽医科大学第一附属医院临床医技护理管理岗位招聘156人笔试历年参考题库附带答案详解
- 传染病习题库与参考答案
- 旅游景区股份合作开发协议书范本
- 2025年湖南信息职业技术学院单招职业技能测试题库参考答案
- 学情分析方案及学情分析报告范文
- 《CRISPR-Cas9及基因技术》课件
- 【博观研究院】2025年跨境进口保健品市场分析报告
- 游戏直播平台推广合作协议
- 《高科技服装与面料》课件
- 2025中国船舶集团限公司招聘高频重点模拟试卷提升(共500题附带答案详解)
- 土壤侵蚀与碳汇-深度研究
评论
0/150
提交评论