当前位置:首页 >> 其它课程 >>

13Java异常使用之二_图文


第十三讲 Java异常处理机制之二

基本要求

1. 了解程序自主抛出异常 2.异常的消极处理机制 3.自定义异常的定义和使用

1

一、程序中人为抛出异常
? 回顾 public class Main { public static void main(String[] args) { int a=5,b=0; System.out.println(a/b); //系统自动抛出的异常 }
}
//Exception in thread "main"java.lang.ArithmeticException: / by zero
at Main.main(ddd.java:7)

2

(1)人为主动抛出异常
public class Main { public static void main(String[] args) { int a=5; System.out.println(a); throw new NullPointerException("看到该异 常不需要紧张,这只是实验体验人为抛出异常"); } }//考虑,是否可以把后两个语句进行位置交换??
3

(2)throw 的作用 ?通过throw语句主动抛出某个异常类对象,此时 程序运行终止。

?常常用来作为程序调试,测试的一种手段。

?另外在自定义异常类的使用中必须使用throw语 句进行抛出异常,从而触发自定义异常类的调用。

4

二、消极处理异常机制
? 比较 public class Main { public static void main(String[] args) { try { int a=5,b=0; System.out.println(a/b); } catch(ArithmeticException e) { System.out.println("运算中除数为零"); } } }

5

比较和上面程序的区别
public class Main { public static void main(String[] args)throws ArithmeticException { int a=5,b=0; System.out.println(a/b); }

}//throws在方法后声明,是消极处理异常的机制
6

throws的使用方法 ?方法类型 方法名(参数)throws 异常列表 { //方法代码 } 1.含义:该方法导致异常的话,程序中不加以处理 (即不需要catch部分的功能代码,是异常的一种 简单处理机制) 2.异常列表中可以出现多个异常类型,逗号隔开
7

练习: 1.在D盘下建立aa.txt文件,随便输入若干字符

2.比较下面两个程序,体会积极处理异常机制和消 极处理两种方式

8

源程序
import java.io.FileInputStream; public class Main { public static void main(String[]args) { byte buffer[]=new byte[2500];
FileInputStream readfile=new FileInputStream("d:\\aa.txt");

int b=readfile.read(buffer,0,2500); String str=new String(buffer,0,b); System.out.println(str); } }//把该程序放到Eclipse中看看,有何问题?

9

1.积极处理
import java.io.FileNotFoundException; import java.io.IOException; public class Main { public static void main(String[]args) { byte buffer[]=new byte[2500]; try { FileInputStream readfile=new FileInputStream("d:\\aa.txt"); int b=readfile.read(buffer,0,2500); String str=new String(buffer,0,b); System.out.println(str); } catch(FileNotFoundException e) {
} catch(IOException e) { } } //进一步体会Java的安全性,即使catch部分内容为空,也不能省

}

10

2.消极处理
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class Main { public static void main(String[]args) throws FileNotFoundException,IOException { byte buffer[]=new byte[2500];
FileInputStream readfile=new FileInputStream("d:\\aa.txt");

}

}

int b=readfile.read(buffer,0,2500); String str=new String(buffer,0,b); System.out.println(str);

11

考虑下面另一个throw 与throws的例子 class ThrowException {
static void throwException() throws NullPointerException

{
throw new NullPointerException("抛出异常了");

}

}

12

测试刚才的ThrowException类
public class Test { public static void main(String[]args) { ThrowException obj=new ThrowException(); try { obj.throwException();//调用类中的方法 } catch (NullPointerException e) { System.out.println("捕获:" + e); //e.printStackTrace(); } } }

13

三、自定义异常类 ?到目前为止,接触的都是系统内置的异常类,简单 地描述了程序的错误信息。

?实际中可能需要根据客户要求进一步精确描述程 序的错误信息,此时需要建立自定义的异常类.

14

(1)建立自定义异常类 ?步骤 (a)定义自定义类,继承相应的异常类

(b)主要在该异常类的构造方法中提供详细的错 误信息

15

(2)例子---P185 建立自定义异常类 public class ArraySizeException extends NegativeArraySizeException { public ArraySizeException() { super("你传递了非法数组长度"); } }

16

使用
public class ExceptionClass { private int size; private int[]array; ExceptionClass(int val) { size=val; try{ checkSize(); } catch(ArraySizeException e) { System.out.println(e); } } public void checkSize() throws ArraySizeException { if(size<0) { throw new ArraySizeException(); } array=new int[size]; for(int count=0;count<size;count++) array[count]=count+1; } }

17

(2)测试

public class UserDefinedException { public static void main(String[] args) {
ExceptionClass obj=new ExceptionClass(-8); } }

18


相关文章:
Java程序设计课件(高晓黎)第13章异常处理(精)_图文.ppt
异常处理的作用 2 3 异常处理机制 立体化教材计算机系列 《Java程序设计》 3 异常类我们总是试图避免在软件程序中错误的发 生,但是百分之百没有错误的程序是...
Java程序设计课件(高晓黎)第13章异常处理_图文.ppt
本章知识重点 1 3 异常 异常异常的类别 捕获异常 抛出异常 创建自定义异常 异常处理的作用 2 3 异常处理机制 立体化教材计算机系列 《Java程序设计》 程序...
java异常_图文.ppt
第6 章 异常处理 2016/12/13 1 Java 异常处理(...2016/12/13 2 为什么需要异常? ? 强制程序异常/...
java异常概念(精)_图文.ppt
Java程序基础 5 2、Error类 Error类是Throwable类的...Java程序基础 13 Throw语句举例1 class Throw_Exp1...
013--自定义异常及2个关键字--利用案例轻松学习Java语....ppt
网页 新闻 贴吧 知道 音乐 图片 视频 地图 文库 |...自定义异常使用方法,图形丰富,动画生动,与授课...13.2 自定义异常Java语言提供了大量的异常类,...
Java中常见错误和异常解决方法_图文.pdf
(中文字符统一转化为 Unicode) 那么使用如下命令 JAVA_HOME/bin/native2ascii ...13.运行下列程序出现了这样的错误,这是线程的知 识,一个线程如果启动了,再启动...
13.Java异常.ppt
网页 新闻 贴吧 知道 音乐 图片 视频 地图 文库 |...13.Java异常_计算机软件及应用_IT/计算机_专业资料...(第二种类型的异常) { } 例子:抛出简单异常.txt...
JAVA_异常_图文.ppt
第6章 Java异常处理机制 ? ? 6.1 异常的含义及分类 6.2 6.4 异常处理...catch(异常类型2 8. 9. } 10. …… 11.catch(异常类型n 12. 13.} 14...
第5讲 JAVA异常处理机制_图文.ppt
JAVA面向对象程序设计第5讲 JAVA 异常处理机制 1 2013年7月13日12时56分 本章内容 1、异常的概念 2、异常的分类(Throwable/Exception) 3、捕获异常(try-catch...
JavaSE2_图文.doc
9/25/13 java 异常处理机制: Throwable: java 中异常
Java 2实用教程第4版_第7章_内部类与异常类_图文.ppt
Java 2实用教程第4版_第7章_内部类与异常类_理学_高等教育_教育专区。《Java2实用教程(第4版)》第7章 内部类与异常类 2014-10-13 第 1 页 导读主要内容...
第13章Java网络编程_图文.ppt
因此,当创建URL对象时需要捕获并处理这个异常。 2. ? URL类的常用方法 URL类...(true); //设置连接对象作为输出对象使用 程序13.4 Reverse.java OutputStream...
Java13第十一章-集合框架和泛型_图文.ppt
Java13第十一章-集合框架和泛型_计算机软件及应用_IT/计算机_专业资料。掌握JAVA...printSackTrace方法 自定义异常类 安卓越科技(北京)有限公司 2 www.anjoyo.com...
Java第2版教材课件13_图文.ppt
13章 输入输出流编程本章学习目标: 1.理解 java 语言中输入/输出流的处理方法 ; 2.掌握文件、字节流和字符流的处理方法, 正确使用对象串行化的方法。 Java...
Java2第13章_图文.ppt
Java213章_理学_高等教育_教育专区。事件处理 通过本章的学习,主要掌握以下知识点: 事件模型语义事件 低级事件 2013-3-2 2 Java AWT事件处理机制 ? 如果用户...
13_2 第十三天 魔乐java基础视频学习笔记_图文.doc
13_2十三天 魔乐java基础视频学习笔记_教学案例/设计_教学研究_教育专区。... 按照异常的处理机制, 如果现在执行的过程之中出现了错误, 那么顺着 throws ...
Java网络编程13_图文.ppt
Java网络编程13_计算机软件及应用_IT/计算机_专业资料。Java网络编程精解 RMI框架...把编组后的返回值或者异常发送给客户。 2 创建第一个RMI应用 ? 大致说来,...
16Java例外处理_图文.ppt
主要内容异常的概念(Exceptions) 异常处理 自定义异常 递归 2 引例 1 Public ...{ at Test.divide(TestException.java:13) 3. public static void main(...
13.Java应用实例_图文.ppt
选择不同的按钮将打开文件对话框选择要浏 览的图像文件或声音文件,选择错误则...13.Java应用实例 暂无评价 17页 2下载券 13.Java网络编程 10页 免费 Java...
JAVA_13_图文.ppt
1.0 第 13 章 幻灯片2。 幻灯片 。共24张 张 Java 编程语言创建线程 从...线程抛出未捕捉到的异常错误。 另一个线程调用不建议使用的某个stop()方法。...
更多相关文章: