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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨立考 中级黑马   /  2012-10-8 23:03  /  1442 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Demo1
{
public static void main(String[] args)
{
  Teacher t=new Teacher();
  try
  {
   t.teach();
  }
  catch(ChangeZYException e)
  {
   System.out.println(e.getMessage());
   System.out.println("我要疯了");
  }
}
}
class Teacher
{
Computer c=new Computer();
  void teach()
   {
    try
    {
     c.run();
    }
    catch (LanPingException e)
    {
     System.out.println(e.getMessage());
     c.reset();
     this.teach();
    }
    catch (MaoYanException e)
     {
      System.out.println(e.getMessage());
      System.out.println(" 学生自习");
      throw new ChangeZYException(e.getMessage()+" 看着处理吧...");
     }
  
   }
}
class ZGC
{
  void xl(Computer c)
   {
    c.state=0;
    System.out.println("电脑进行了维修");
   }
}
class Computer
{
int state=0;
void run() throws LanPingException,MaoYanException
  {
   if (state==0)
   {
    System.out.println("电脑运行");
   }
   else if (state==1)
   {
    throw new LanPingException("电脑蓝屏");
   }
   else if(state==2)
    {
     throw new MaoYanException("冒烟");
    }

  }
  void reset()
   {
    System.out.println("电脑重新启动");
    state =0;
   }

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

[img=487,106]file:///C:/Users/lenovo/AppData/Roaming/Tencent/Users/793648972/QQ/WinTemp/RichOle/ZS(3NMKGAB%7DG[S1LUJ6W]AY.jpg[/img]

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

3 个回复

倒序浏览
问题截图放不上去   Doc命令提示是:java10:在相应的try语句主体中不能抛出异常ChangeZYException catch(ChangeZYException e)
回复 使用道具 举报
Teacher类的 teach方法要抛出ChangeZYException异常的,方法体里throw new ChangeZYException(e.getMessage() + " 看着处理吧..."); 没有内部处理,就要抛出去
void teach() throws ChangeZYException

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

回复 使用道具 举报
方法里面产生的异常,需要先 try。。。。catch或者throw   才能被其他类调用使用。
直接throw出来异常,调用的类还需要再次处理。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马