java面向对象-异常处理的一个例子
2014-07-29 08:49
555 查看
/*
毕老师用电脑上课
开始思考上课中出现的问题
比如问题是:
电脑蓝屏
电脑冒烟
要对问题进行描述,封装成对象
可是当冒烟发生后,出现讲课进度无法继续
出现了讲师的问题,课时计划无法完成
*/class LanPingException extends Exception
{
LanPingException(String message)
{
super(message);
}
}
class MaoYanException extends Exception
{
MaoYanException(String message)
{
super(message);
}
}
class NoPlanException extends Exception
{
NoPlanException(String message)
{
super(message);
}
}
class Computer
{
private int state = 3;
public void run()throws LanPingException,MaoYanException
{
if(state==2)
throw new LanPingException("蓝屏了");
if(state==3)
throw new MaoYanException("冒烟了");
System.out.println("电脑运行");
}
public void reset()
{
state = 1;
System.out.println("电脑重启");
}
}
class Teacher
{
private String name;
private Computer cmpt;
Teacher(String name)
{
this.name = name;
cmpt = new Computer();
}
public void prelect()throws NoPlanException
{
try
{
cmpt.run();
}
catch(LanPingException e)
{
cmpt.reset();
}
catch(MaoYanException e)
{
test();
throw new NoPlanException("课时无法继续"+e.getMessage());
}
System.out.println("讲课");
}
public void test()
{
System.out.println("lianxi");
}
}
class ExceptionTest
{
public static void main(String[] args)
{
Teacher t = new Teacher("毕老师");
try
{
t.prelect();
}
catch(NoPlanException e)
{
System.out.println(e.toString());
System.out.println("换老师或者放假");
}
}
}
毕老师用电脑上课
开始思考上课中出现的问题
比如问题是:
电脑蓝屏
电脑冒烟
要对问题进行描述,封装成对象
可是当冒烟发生后,出现讲课进度无法继续
出现了讲师的问题,课时计划无法完成
*/class LanPingException extends Exception
{
LanPingException(String message)
{
super(message);
}
}
class MaoYanException extends Exception
{
MaoYanException(String message)
{
super(message);
}
}
class NoPlanException extends Exception
{
NoPlanException(String message)
{
super(message);
}
}
class Computer
{
private int state = 3;
public void run()throws LanPingException,MaoYanException
{
if(state==2)
throw new LanPingException("蓝屏了");
if(state==3)
throw new MaoYanException("冒烟了");
System.out.println("电脑运行");
}
public void reset()
{
state = 1;
System.out.println("电脑重启");
}
}
class Teacher
{
private String name;
private Computer cmpt;
Teacher(String name)
{
this.name = name;
cmpt = new Computer();
}
public void prelect()throws NoPlanException
{
try
{
cmpt.run();
}
catch(LanPingException e)
{
cmpt.reset();
}
catch(MaoYanException e)
{
test();
throw new NoPlanException("课时无法继续"+e.getMessage());
}
System.out.println("讲课");
}
public void test()
{
System.out.println("lianxi");
}
}
class ExceptionTest
{
public static void main(String[] args)
{
Teacher t = new Teacher("毕老师");
try
{
t.prelect();
}
catch(NoPlanException e)
{
System.out.println(e.toString());
System.out.println("换老师或者放假");
}
}
}
相关文章推荐
- [零基础学JAVA]Java SE面向对象部分-20.异常的捕获与处理 推荐
- 黑马程序员_java面向对象总结【4】(内部类、异常处理、Package)
- java面向对象下:异常处理
- 【学习笔记17】java面向对象-异常处理:捕获异常与抛出异常
- Java的异常处理机制的一个例子-读后定能对异常理解深刻
- 做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处
- 一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处
- Java--面向对象之五:异常处理
- java面向对象-异常处理-习题
- java面向对象-异常概述-异常声明throws-多异常处理-throw和throws区别
- java面向对象-自定义异常处理
- 一个例子体现JAVA中的面向对象思想,接口(抽象类)的用处
- java中异常处理的一个小知识点
- Java--封装一类对象,功能是随机产生一个2000年后的年份,并输出该年2月的日历页,需处理闰年的问题。
- 黑马程序员---Java基础--10天(面向对象之五异常和包)
- 黑马程序员——第十天(Java面向对象-异常-包)
- 面向对象写生产者与消费者的例子(java)
- java第十周封装一类对象,功能是随机产生一个2000年后的年份,并输出该年2月的日历页,需处理闰年的问题。
- 由一个问题看JAVA面向对象思想(一)
- 理解Java异常处理机制——Java异常处理的一个综合实例