- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
回 顾;第七章 异常处理和断言;教学目的和要求:;重点:
Java异常处理机制;
Java内置异常类;
如何自定义异常
如何使用断言
难点:
理解异常处理块中各个语句块的作用 ;1 Public class HelloWorld{
2 public static void main(String args[ ]){
3 int i=0;
4 String g[ ]={Hello World!, Hello!,
5 HELLO WORLD!};
6 while ( i4){
7 System.out.println(g[i]);
8 i++;
9 }
10 }
11 }; 7.1 异常的概念; 7.1.1 Java 异常处理机制; Java异常处理由5个关键字实现:try、catch、throw、throws和finally。
其中try用来执行一段程序,如果出现异常,则系统抛出(throw)一个
异常对象,可以根据该对象的类型来捕获(catch)它并处理它。最后
由 finally 语句块来进行收尾工作。
下面是异常处理块的基本形式:
try {
// 可能产生异常的代码块
throw new ExceptionType1(); //抛出ExceptionType1类型的异常
}
catch(ExceptionType2 e) {
// 捕获并处理ExceptionType2类型的异常。该代码段不一定会执行
}
catch(ExceptionType3 e) {
// 捕获并处理ExceptionType3类型的异常。该代码段不一定会执行
}
finally {
// 收尾工作,释放资源。该代码段一定会执行
}; import java.io.*;
public class E7_1{
public static void main(String args[ ]){
int b;
try {
FileInputStream fis=new FileInputStream(test.txt);
while ( (b=fis.read()) !=-1)
System.out.print((char)b);
fis.close();
}
catch (Exception e) {
system.out.println(出错了,原因是:);
system.out.println (e.toString());
}
}
}; Java异常处理机制是面向对象的。每发生一起异常就产生一个异常对象。
在Java类库中定义了很多异常类。所有异常类都是类 Java.lang.Throwable 的子类。
;Throwable 类有两个直接子类:
子类 Error
代表一些很难恢复的严重的系统错误,不是用户程序本身所能控制的。所以
一般不用捕获与处理Error,而是交给Java 运行系统处理。
子类 Exception
代表用户程序可以捕获的异常情况。
子类 RuntimeException
代表程序设计或实现上的问题,如除数为零或者数组越界等。
这类异常经常出现,如果全部做出处理,会影响程序的可读性和效率。
所以这类异常,程序可以不捕获,而是交给Java 运行系统自动处理。
其他子类 (例如 IOException,ClassNotFoundException 等)
程序中必须捕获并处理这些异常,或者声明抛出。
;7.2 异常处理;7.2.1 捕获异常; import java.io.*;
public class E7_3 {
public static void main(String args[]) {
try {
int i= 7/0;
System.out.println (该语句会不会执行?);
}
catch (ArithmeticException e) {
System.out.println (出现错误:
+ e.getMessage());
文档评论(0)