教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

Java程序设计---异常处理

来源:网络收集 时间:2025-09-21
导读: 第九章 异常处理 9.1 Java异常处理机制 异常处理机制 9.2 异常处理方式 9.1 异常处理机制Java使用异常对程序给出一个统一 使用异常对程序给出一个统一 和相对简单的抛出和处理错误的机制。 和相对简单的抛出和处理错误的机制。 如果一个方法本身能抛出异常,

第九章

异常处理

9.1 Java异常处理机制 异常处理机制 9.2 异常处理方式

9.1 异常处理机制Java使用异常对程序给出一个统一 使用异常对程序给出一个统一 和相对简单的抛出和处理错误的机制。 和相对简单的抛出和处理错误的机制。 如果一个方法本身能抛出异常,调用者 如果一个方法本身能抛出异常, 可以捕获异常使之得到处理; 可以捕获异常使之得到处理;也可以回 避异常,这时异常将在调用的堆栈中向 避异常, 下传递,直到被处理。 下传递,直到被处理。

异常类在Java中,将异常情况分为 中 将异常情况分为Exception(异常)和 (异常) Error(错误)两大类。 Error 类对象由 Java 虚拟机 (错误)两大类。 生成并抛出; 生成并抛出;Exception 类对象由应用程序处理或抛出。 Object Throwable Exception Error

异常类的继承结构

Exception子类的继承关系ExceptionClassNotFoundException ClassNotSupportedException IllegalAccessException InstantiationException InterruptedException NoSuchMethodException RuntimeException ArithmeticException ArrayStoreException ClassCastException IllegalArgumentExceptionIllegalThreadStateException NumberFormatException

Exception子类(续)

IllegalMonitorStateException IndexOutOfBoundsException ArrayIndexOutOfBoundsException StringIndexOutOfBoundsException NegativeArraySizeException NullPointerException

SecurityException

Exception 类的主要方法public Exception( ); public Exception(String s); public String toString( ); public String getMessage( );

9.2 异常处理方法

异常处理的方法有两种: 1. 使用try…catch…finally结构对异常 进行捕获和处理; 2. 通过throws和throw抛出异常。

1 try…catch…finally结构结构对异常进行捕获和处理, 在 Java中, 可以通过 中 可以通过try…catch…finally结构对异常进行捕获和处理 , 其形式 结构对异常进行捕获和处理 如下: 如下: try { 可能出现异常的程序代码 } catch (异常类名 异常类名1 异常对象名1) 异常类名 异常对象名 { 异常类名 对应的异常处理代码 异常类名1对应的异常处理代码 } catch (异常类名 异常类名2 异常对象名2) 异常类名 异常对象名 { 异常类名 对应的异常处理代码 } 异常类名2对应的异常处理代码 ┇ [ finally { 必须执行的代码 }]

说明将可能发生异常的程序代码放置在try程序块中。 将可能发生异常的程序代码放置在 程序块中。程序运 程序块中 行过程中,如果该块内的代码没有出现任何异常, 行过程中,如果该块内的代码没有出现任何异常,后面 的各catch块不起任何作用。但如果该块内的代码出现了 块不起任何作用。 的各 块不起任何作用 异常,系统将终止try块代码的执行 块代码的执行, 异常,系统将终止

块代码的执行,自动跳转到所发生 的异常类对应的catch块中,执行该块中的代码。 块中, 的异常类对应的 块中 执行该块中的代码。 其中的finally块是个可选项 , 如果含有 块是个可选项, 其中的 块是个可选项 如果含有finally块 , 无论 块 异常是否发生, 块的代码必定执行。 异常是否发生,finally块的代码必定执行。 块的代码必定执行 一个try块可以对应多个 块可以对应多个catch块 , 用于对多个异常类进 一个 块可以对应多个 块 行捕获。 行捕获。

Java实例——捕获数组下标越界异常public class Exception1 { public static void main(String args[]) { try { int a[]={1,2,3,4,5}, sum=0; for (int i=0; i<=5; i++) sum=sum+a[i]; System.out.println("sum="+sum); System.out.println("Successfully! "); }

catch (ArrayIndexOutOfBoundsException e) { System.out.println("ArrayIndexOutOfBoundsException detected"); } finally { System.out.println(" Programm Finished! "); } } }

例 --捕获算术异常public class Exception2{ public static void main(String args[]) { try { int x, y; x=15; y=0; System.out.println(x/y); System.out.println("Computing successfully!"); }

catch (ArithmeticException e) { System.out.println(" ArithmeticException catched !" ); System.out.println("Exception message:"+e.toString()); } finally { System.out.println("Finally block."); } }

2 抛出异常抛出异常语句通常情况下,异常是由系统自动捕获的。但程序 通常情况下,异常是由系统自动捕获的 但程序 员也可以自己通过throw语句抛出异常。throw语 语句抛出异常。 员也可以自己通过 语句抛出异常 语 句的格式为: 句的格式为: throw new 异常类名(信息) 异常类名(信息) 其中异常类名为系统异常类名或用户自定义的异 其中异常类名为 或 的异 常类名, 信息”是可选信息。 常类名,“信息”是可选信息。如果提供了该信 方法的返回值中将增加该信息内容。 息,toString()方法的返回值中将增加该信息内容。 方法的返回值中将增加该信息内容

Java实例——抛出多个异常public class Exception3 { public static int Sum(int n){ if (n < 0) throw new IllegalArgumentException("n应该为正整数!"); 应该为正整数! 应该为正整数 int s = 0; for (int i=0; i<=n; i++) s = s + i; return s; }

…… 此处隐藏:1321字,全部文档内容请下载后查看。喜欢就下载吧 ……
Java程序设计---异常处理.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1813517.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)