A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 张狮子 中级黑马   /  2016-4-30 16:35  /  381 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
毕老师用电脑上课。

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

比如问题是
        电脑蓝屏。
        电脑冒烟。

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

可是当冒烟发生后,出现讲课进度无法继续。

出现了讲师的问题:课时计划无法完成。

*/
class LanPingException extends Exception{

        LanPingException(String message){
       
                super(message);
        }
}
class MaoYanException extends Exception{

        MaoYanException(String message){
       
                super(message);
        }
}
class NoPlanException extends Exception{

        NoPlanException(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 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("练习");
        }
}

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("换老师或者放假");
                }
               
        }
}
您需要登录后才可以回帖 登录 | 加入黑马