/*捕获的所有异常都是Exception 异常
在函数后面直接抛出异常 是当有异常发生的时候 抛出我们指定的异常
java 中的数组越界 ArithmeticException 都是java编译器自动处理
运行时异常是不用我们来捕获的
throws 在声明抛出异常的时候 用这个 在我们抛出异常的时候用throw
我们在捕获异常的时候还可以继续将异常抛出 而且还可以抛出新的异常
我们还可以定义自己的异常类我们的异常类必须 从Exception派生 并且在构造函数调用 super(str) 调用
基类的构造函数
try
{
..
}
catch()
{
..
}
finally
{
..没有异常也会执行 发生异常也会执行 任何时候finally 都会执行 除了程序终止运行 java.lang.System类的 函数
}
我们应该在所有异常之后捕获 Exception因为所有 异常都是Exception 会重复 捕获错误
在继承中除了构造函数 因为构造函数不能被继承 其他函数抛出的异常都必须和 父类的一样 或者是父类异常的子集
*/
import java.lang.Exception; //引入 Exception类
class Excep
{
public int Division(int a,int b) throws ArithmeticException ,DivisorIsMinusException //声明抛出的异常的类型名 对于要抛出的异常我们必须先声明下
{
if(b<0)
throw new DivisorIsMinusException("Divisorcan't be minus");
return a/b;
}
public int fn1(int a,int b) throws ArithmeticException ,DivisorIsMinusException //声明抛出的异常的类型名
{
return Division(a,b);
}
}
class ExChild extends Excep //继承覆盖的方法声明的异常只能和父类相同或者是父类异常的子集
{
public int Division(int a,int b) throws ArithmeticException ,DivisorIsMinusException
{
return a/b;
}
}
class DivisorIsMinusException extends Exception //所有异常类都应该从Exception派生出来
{
DivisorIsMinusException(String str)
{
super(str); //调用父类的构造函数
}
}
class ExceptTest
{
public static void main(String []args)// throws Exception //直接抛出Exception异常由运行时系统处理 由运行时系统处理的化程序会停下 并且打印异常
{
Excep o=new Excep();
try //测试异常
{
o.Division(3,-20); //如果出现异常那么自动跳转到异常处理 下面不会执行
System.out.println("connet close ");
}
catch(ArithmeticException e) //捕获异常 异常类 从Exception派生
{
System.out.println("can't divide by zero !");
System.out.println(e.getMessage());//从throwable 继承而来的函数 获得消息字符串
System.out.println(e.toString()); //获得一个异常类的详细说明
throw new ArithmeticException(); //在异常中抛出另第一个一个异常 不能将Exception作为第一个捕获对象否则出错 因为所有异常都是 Exception
}
catch(DivisorIsMinusException dd)
{
System.out.println(dd);
System.exit(-1);
return;
}
catch(Exception a)
{
System.out.println(a.toString());
}
finally
{
System.out.println("finall !");
}
System.out.println("finish !");
}
}
分享到:
相关推荐
JAVA程序设计:第8章 Java异常处理.ppt
Java基础入门教程 第7章 Java中的异常处理(共26页).ppt Java基础入门教程 第8章 文件流的输入输出操作(共37页).ppt Java基础入门教程 第9章 Java的高级特性(共32页).ppt jdk api 1.7.chm JDK_API_1_6_zh_...
完整版精品java课件 Java基础入门教程 Java程序设计 第8章 异常处理(共27页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第9章 输入输出流(共49页).ppt 完整版精品java课件 Java基础入门教程 Java...
java第八次实验:异常处理
Java高级程序设计(第二版)--第2章-异常处理全文共19页,当前为第8页。 Java的异常类层次结构 Java高级程序设计(第二版)--第2章-异常处理全文共19页,当前为第9页。 2.2 处理异常 任务2 处理异常 完善任务1中的...
Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 ...第6章 异常处理 第7章 Java集合 第8章 泛型 第9章 注解&枚举 第10章 IO 第11章 多线程 第12章 Java常用类 第13章 Java反射 第14章 网络编程
java java学习 java自学 java入门
第1章 Java 程序设计概述 1.1 Java 程序设计平台 ...第8章 事件处理 第9章 Swing用户界面组件 第10章 部署应用程序和applet 第11章 异常、日志、断言和调试 第12章 泛型程序设计 第13章 集合 第14章 多线程
图7-1 受检异常未处理的浮窗提示 《Java程序设计案例教程》教学课件07异常处理全文共31页,当前为第8页。 7.2 异常与异常类 7.2.3 未受检异常 属于RuntimeException类及其子类的异常和Error类及其子类的异常被称为...
【完整课程列表】 完整版 Java编程基础入门教程 ...完整版 Java编程基础入门教程 Java语言程序设计 第8章_多线程与异常处理(共72页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 第9章_Applet(共40页).ppt
【完整课程列表】 推荐课程 完整版优质java教程 java精品教学课件 Java语言程序设计 第10章 输入与输出(共38页)....推荐课程 完整版优质java教程 java精品教学课件 Java语言程序设计 第9章 异常处理(共26页).ppt
第1章 Java 程序设计概述 1.1 Java 程序设计平台 ...第8章 事件处理 第9章 Swing用户界面组件 第10章 部署应用程序和applet 第11章 异常、日志、断言和调试 第12章 泛型程序设计 第13章 集合 第14章 多线程
完整版精品java课件 Java基础入门教程 Java程序设计 第8章 异常处理(共27页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第9章 输入输出流(共49页).ppt 完整版精品java课件 Java基础入门教程 Java...
Java基础教程,最全版本 第1章 Java环境及配置 ...第8章 输入输出技术 第9章 Java数据库技术 第10章 Java安全技术 第11章 Java网络技术(一) 第12章 Java网络技术(二) 第13章 Servlet技术 第14章 Java读写XML技术
知道什么是异常(Exception),如何处理异常 能够区分checked exception和 runtime exception 会使用 try-catch-finally 处理异常 方法声明异常 抛出异常 自定义异常类 语法错误, 运行期错误, 逻辑错误 语法错误: ...
完整版精品java课件 Java基础入门教程 Java程序设计 第8章 异常处理(共27页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第9章 输入输出流(共49页).ppt 完整版精品java课件 Java基础入门教程 Java...
完整版精品java课件 Java基础入门教程 Java程序设计 第8章 异常处理(共27页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第9章 输入输出流(共49页).ppt 完整版精品java课件 Java基础入门教程 Java...
Java基础入门教程 第7章 Java中的异常处理(共26页).ppt Java基础入门教程 第8章 文件流的输入输出操作(共37页).ppt Java基础入门教程 第9章 Java的高级特性(共32页).ppt jdk api 1.7.chm JDK_API_1_6_zh_...
纯PPT文档,996页,超详细。...第8章 输入输出技术 第9章 Java数据库技术 第10章 Java安全技术 第11章 Java网络技术(一) 第12章 Java网络技术(二) 第13章 Servlet技术 第14章 Java读写XML技术
从简单到精通的全套教材 第1章 Java环境及配置 ...第8章 输入输出技术 第9章 Java数据库技术 第10章 Java安全技术 第11章 Java网络技术(一) 第12章 Java网络技术(二) 第13章 Servlet技术 第14章 Java读写XML技术