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

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课程异常2_图文.ppt
JAVA课程异常2_计算机软件及应用_IT/计算机_专业资料。Exception子类的继承关系 ...NegativeArraySizeException NullPointerException SecurityException 13周-上机作业1 ?...
JAVA课程异常2(精)_图文.ppt
JAVA课程异常2(精)_幼儿读物_幼儿教育_教育专区。...NullPointerException SecurityException 13周-上机作业...
12Java异常使用之一_图文.ppt
第十二讲 Java异常处理机制之一 基本要求 1.了解异常 2.异常处理机制(try-...(); } } 13 例4 多个catch分支演示 public class ddd { public static ...
Java(异常的捕获及处理)_图文.pdf
{ 不管是否出现异常,都会运行到的程序代码; } public class ExceptionDemo2 { ...匹配成功则执行catch中的 代码 13 public class ExceptionDemo5 { Java编程基础...
java异常处理课件_图文.ppt
运用关键字 throw 和 throws 处理异常 ? 运用JAVA编写和使用自定义异常 2 生活...try/catch 块后的代码段 产生异常对象 异常类型匹配 13 public class AccpExcepti...
Java异常处理_图文.ppt
} } 12 异常处理举例(2) 异常处理举例(2) 程序java6_2运行结果:java java6_2 lisa bily kessy index err this is the end 13 捕获违例捕获异常是通过try...
java异常_图文.ppt
二是标准异常类,由java系统预先定义好的。这类 ...13 2、Error类
Java中常见错误和异常解决方法_图文.pdf
(中文字符统一转化为 Unicode) 那么使用如下命令 JAVA_HOME/bin/native2ascii ...13.运行下列程序出现了这样的错误,这是线程的知 识,一个线程如果启动了,再启动...
第九章 Java异常处理_图文.ppt
(Division.java:13) 程序说明: 程序运行时,循环的前5次正常输出了5个数,但...??? 9.1.2异常处理机制 ? Java语言是面向对象的语言,它对于异常的处理采用的...
第十章--Java异常处理机制_图文.ppt
Java就是这么做的! num1, num2, num1/ num2)...使用try/catch块捕获异常,分为三种情况:第一种情况...文档贡献者 你这样做好吗 贡献于2015-05-13 ...
第5讲 JAVA异常处理机制_图文.ppt
JAVA面向对象程序设计第5讲 JAVA 异常处理机制 1 2013年7月13日12时56分 本章内容 1、异常的概念 2、异常的分类(Throwable/Exception) 3、捕获异常(try-catch...
Java的异常设计原则_图文.pdf
2编写高效异常处理的指导原则异常处理是Java最强大的机制之一,恰当地使用异常,...13ladd14putstatic#3<Fieldlonga>17 getstatic私<Field longb> 20jLconst_l21...
第3讲 使用java处理异常_图文.ppt
2 课程内容 ? 掌握Java异常处理机制 ? 运 使用Java处理异常 Java程序设计 ...{ // 对异常进行处理的代码段 } // 代码段 } 13 发生异常 try catch ...
Java异常和Internet寻址_图文.ppt
这是我的Java网络编程讲义之一,奉献出来供大家参考。 第2讲主要内容异常处理--...2014年7月20日 广州大学 Java网络编程 主讲:刘淼 13 Java中的异常 Java中的...
Java第2版教材课件13_图文.ppt
13章 输入输出流编程本章学习目标: 1.理解 java 语言中输入/输出流的处理方法 ; 2.掌握文件、字节流和字符流的处理方法, 正确使用对象串行化的方法。 Java...
Java2第13章[1]_图文.ppt
本章的难点: 本章的难点:事件处理程序设计 2011-12-8 2 13.1 Java的事件处理机制 1.基本概念事件 用户使用鼠标或键盘对窗口中的组件进行交互时所发生的事情。...
Lesson6-Java之异常处理_图文.ppt
12 数组异常继承图 13 1 只捕捉某个具体的异常 ?catch (InvalidIndexException...所以Java规定(1)要么直接用catch把异常抓住 (2)要么把异常扔出此方法,让调用...
java异常处理课件_图文.ppt
运用JAVA编写和使用自定义异常 2 生活中的异常 ? ...产生异常对象 异常类型匹配 13 public class Accp...
更多相关文章: