黑马程序员技术交流社区
标题:
关于Excepiton的问题,那位大神看看我的代码哪里有问题
[打印本页]
作者:
android-liu
时间:
2015-3-10 23:47
标题:
关于Excepiton的问题,那位大神看看我的代码哪里有问题
/*
* 需求:老师用电脑上课
* 思考:
* 上课是不是会发生一些异常呢?
* 比如: 电脑蓝屏
* 电脑冒烟
* 要对问题进行描述,封装成对象。
*
*
* */
class LanPingException extends Exception
{
LanPingException(String mess)
{
super(mess);
}
}
class MaoYanException extends Exception
{
MaoYanException(String mes)
{
super(mes);
}
}
public class ExceptionDemo3 {
public static void main(String[] args) {
Teacher t=new Teacher("laoshi");
t.shangKe();
}
}
class Computer
{
private int flag=3;
public void run()throws LanPingException,MaoYanException
{
if(flag==2)
throw new LanPingException("电脑蓝屏了");
if(flag==3)
throw new MaoYanException("电脑冒烟了");
System.out.println("computer run");
}
public void reset()
{
System.out.println("computer reset");
}
}
class Teacher
{
private Computer cmpt;
private String name;
Teacher(String name)
{
this.name=name;
cmpt =new Computer();
}
public void shangKe()
{
try {
cmpt.run();
} catch (LanPingException e) {
cmpt.reset();
e.printStackTrace();
} catch (MaoYanException e) {
e.printStackTrace();
}
System.out.println("开始上课");
}
}
复制代码
作者:
简体字
时间:
2015-3-10 23:58
看不懂 看不懂 看不懂
作者:
一般现在时
时间:
2015-3-11 09:42
你的是什么情况?
作者:
金康俊
时间:
2015-3-11 09:56
没注释的代码都是耍流氓。
作者:
埗箬
时间:
2015-3-11 09:59
好像没问题,但是你的flag好像定义的没有意义啊。你下面没有改变flag的语句,等于说异常的话,一定是“电脑冒烟了”
作者:
无辜被杀害
时间:
2015-3-11 12:02
不知道楼主想要什么效果,你这个flag没有意义,flag没有改变,异常一直是是冒烟这种,我觉得可以在Computer中弄一个setFlag方法来改变flag,不过这又涉及了flag值越界= =不知道其他人有没有更好的办法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2