java,走你

java异常小程序

2017-08-15  本文已影响0人  软件测试小江

/*需求

毕老师用电脑上课 。

开始思考上课中出现的问题。

比如问题是

电脑蓝屏

电脑冒烟

要对问题进行描述,封装成对象

可是当冒烟发生后,导致讲课进度无法继续

这时候出现讲师问题:课时计划无法完成

*/

class LanPingException extends Exception    //异常可以处理,Exception

{

LanPingException(String msg)

{

super(msg);

}

}

class MaoYanException extends Exception    //异常不可以处理,需要停下来,RuntimeException

{

MaoYanException(String msg)

{

super(msg);

}

}

/*

可是当冒烟发生后,导致讲课进度无法继续

这时候出现讲师问题:课时计划无法完成

*/

class NoPlanExceptio extends Exception

{

NoPlanExceptio(String msg)

{

super(msg);

}

}

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 com;

Teacher(String name)

{

this.name = name;

com = new Computer();

}

public void prelect()throws NoPlanExceptio

{

try

{

com.run();

}

catch (LanPingException e)

{

com.reset();

}

catch (MaoYanException e)

{

test();

//throw e;    //处理不了,抛出去,但是并不能解决问题  ,解决问题方案可以新建立问题解决方法

throw new NoPlanExceptio("课时计划被拖延"+e.getMessage());    //函数结束标识,下面的语句统统运行不了

}

System.out.println("讲课");

}

public void test()

{

System.out.println("做练习");

}

}

class ExceptionTest

{

public static void main(String[] args)

{

Teacher t = new Teacher("毕老师");

try

{

t.prelect();

}

catch (NoPlanExceptio e)

{

System.out.println(e.toString());

System.out.println("换电脑或者放假");

}

}

}

上一篇下一篇

猜你喜欢

热点阅读