【java】毕向东异常练习

文章详细描述了毕老师使用电脑上课时遇到的电脑蓝屏和冒烟问题,包括如何封装问题为特定异常类(LanpingException, MaoyanException),以及在出现问题时如何通过重置电脑(Computer类的restart方法)来继续授课,并最终处理课时无法继续的情况(NoplanException异常)。文章提供了具体的异常处理策略和解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
需求:毕老师用电脑上课

开始思考上课中出现的问题: 电脑蓝屏 ,电脑冒烟 

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

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

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

*/

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; //定义一个状态值来表示是否出异常,1代表正常

	public void run( ) throws LanpingException,MaoyanException
	{
		if(state==2)
			throw new  LanpingException( "蓝屏了");
		if(state==3)
            throw new MaoyanException("冒烟了");
		System.out.println("电脑运行");
	}

	public void restart( )
	{
		 state=1;
		System.out.println("电脑重启");
	}
}

class Teacher
{
	private String name;
	private Computer cmpt;
	Teacher(String name)
	{
		this.name=name;
		cmpt=new Computer( );    //如果这里换成 Computer cmpt=new Computer( );会出现空指针异常
	}
   
    public void prelect( )throws NoplanException  //讲课
	{
		try
		{
			cmpt.run( );
		
		}
		catch (LanpingException e)
		{
           cmpt.restart( );
		}
		catch( MaoyanException e)
		{
			test( );//如果test放在throw 下面语句执行不到,编译会不通过 
			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.print("换老师,或者.....");
		}
	} 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值