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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马任雪刚 中级黑马   /  2012-5-12 22:13  /  1221 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//关于异常的小程序
//需求是:老师讲课过程出现的一些问题的处理
//比如说:电脑蓝屏
//电脑死机
class computer//建立电脑类
{
    private int sta=3;
public void run()throws lanpingException,maoyanExdception
{
  if(sta==2)
   throw new lanpingException("电脑蓝屏");
  if(sta==3)
   throw new maoyanException("电脑冒烟");
  System.out.print("电脑运行!");
}
public void rest()
{
  System.out.print("重启!");
}

}
class teacher//建立老师类
{
private String name;
        private computer comp;
teacher(String name)
{
  this.name=name;
  comp=new computer();
}
    public void jiang()throws wentiException
    {
     try
     {
     comp.run();
     }
     catch(lanpingException l)
     {
      comp.rest();
      System.out.print("开始上课");//为什么这儿不能用comp.run();???????????????????
     }
     catch(maoyanException m)
     {
      test();
      throw new wenTi("课时无法进行");
     }
    }
    public void test()
{
  System.out.println("联系");
}
    }
class maoyanException extends Exception//建立问题类
{
maoyan(String msg)
{
  super(msg);
}
}
class wenti extends Exception
{
wenti(String msg)
{
  super(msg);
}
}
class lanping extends Exception//建立问题类
{
lanping(String msg)
{
  super(msg);
}
}
public class YichangDemo
{

public static void main(String[] args)
{
  teacher t=new teacher("王五");
  
  try
  {
  t.jiang();
  }
  catch(wentiException w)
  {
   
   System.out.println(w.toString());
   System.out.print("换老师或放假");
  }
  
}
}

2 个回复

倒序浏览
电脑蓝屏了的处理方法,第一件事就是把电脑重启撒,怎么直接就电脑运行了
而且如果你想使用run,状态sta还没改变,仍然是sta=2,再调用一次run,结果还是会抛出一个异常,执行不到电脑运行的语句。
而且try语句里才调用过run,为什么楼主又想在catch里面调一次呢?
回复 使用道具 举报
你处理完异常后你已经调用重启方法了,如果你非要再调用run方法也可以呀,但是你还得try一次,但这有什么意义呢?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马