/**
* Created by patkritLee on 2016/12/18.
* 毕老师用电脑上课
* 开始思考上课中出现的问题。
* 比如问题会是
* 1.电脑蓝屏
* 2.电脑冒烟
* 我们需要对问题进行描述,封装成对象
*可是当冒烟发生后,会出现讲课无法继续
* 出现了讲师的问题:课时计划无法完成
* NoPlanException 可以进行处理
*/
public class TestException01 {
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.print("练习");
}
}
public static void main(String[] args){
TestException01 tep = new TestException01();
TestException01.Teacher t = tep.new Teacher("毕老师");
try{
t.prelect();
}
catch (NoPlanException e){
System.out.println(e.toString());
System.out.println("换老师,或者换电脑");
}
}
}
java异常小练习
最新推荐文章于 2022-05-29 08:52:25 发布