黑马程序员技术交流社区

标题: 关于异常的问题 [打印本页]

作者: 黑马任雪刚    时间: 2012-5-12 22:13
标题: 关于异常的问题
//关于异常的小程序
//需求是:老师讲课过程出现的一些问题的处理
//比如说:电脑蓝屏
//电脑死机
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("换老师或放假");
  }
  
}
}


作者: 云惟桉    时间: 2012-5-12 23:51
电脑蓝屏了的处理方法,第一件事就是把电脑重启撒,怎么直接就电脑运行了
而且如果你想使用run,状态sta还没改变,仍然是sta=2,再调用一次run,结果还是会抛出一个异常,执行不到电脑运行的语句。
而且try语句里才调用过run,为什么楼主又想在catch里面调一次呢?
作者: 黑马-王建雨    时间: 2012-5-13 00:11
你处理完异常后你已经调用重启方法了,如果你非要再调用run方法也可以呀,但是你还得try一次,但这有什么意义呢?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2