------------------- android培训、java培训、期待与您交流!----------------
/* 毕老师用电脑上课 ,
开始思考上课中出现的问题
比如问题是:
电脑蓝屏。 电脑冒烟对问题进行描述,封装成对象
可是当冒烟发生后,出现讲课进度无法继续。 出现了讲师的问题,课时计划无法完成。 */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()); //test();//执行不到,必须写前面才能执行到 } 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 (NoPlanException e) { System.out.println(e.toString()); System.out.println("换老师或者放假"); } }}