java异常问题,,大神请看代码有几句不太理解

classLanPingExceptionextendsException{LanPingException(){}LanPingException(Stringmsg)... class LanPingException extends Exception{
LanPingException(){}
LanPingException(String msg){
super(msg);
}
}

class MaoYanException extends Exception{
MaoYanException(){}
MaoYanException(String msg){
super(msg);
}
}

class NoPlanException extends Exception{
NoPlanException(){}
NoPlanException(String msg){
super(msg);
}
}

class Computer{
private int state = 2;//0 2
public void run() throws LanPingException,MaoYanException{
if(state == 1)
throw new LanPingException("电脑蓝屏啦!");
if(state == 2)
throw new MaoYanException("电脑冒烟啦!");
System. out.println("电脑运行");
}
public void reset(){//重启
state = 0;
System.out.println("电脑重启");
}
}
因为字数的原因我用图片吧,

结果是:
MaoYanException: 电脑冒烟啦!
大家练习
NoPlanException: 课时进度无法完成,原因:电脑冒烟啦!.......
换人
-----------------------------------------------------------------
大家练习是执行到了
test();
//可以对电脑进行维修
throw new NoPlanException("课时进度无法完成,原因:" + e.getMessage());
这里 执行了test()后就不知道步骤了 看不懂throw new NoPlanException("课时进度无法完成,原因:" + e.getMessage()); 这一句
展开
 我来答
百度网友a796c4d
2015-07-30 · TA获得超过298个赞
知道小有建树答主
回答量:317
采纳率:33%
帮助的人:164万
展开全部
class NoPlanException extends Exception{ //这是你的自定义异常类
NoPlanException(){}
NoPlanException(String msg){ //实例化对象时传递字符串参数

super(msg); //把你传进来的字符串参数传递给Exception的构造函数里面

一旦抛出后,就会显示你传递的字符串参数
}
}
throw new NoPlanException("课时进度无法完成,原因:" + e.getMessage());
这一句是抛出此异常
追问
请问执行了:    throw new MaoYanException("电脑冒烟啦!");   这句后  又做了什么动作呢,
百度网友85cd0964c
2015-07-30 · TA获得超过385个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:247万
展开全部
throw new NoPlanException("课时进度无法完成,原因:" + e.getMessage());
这个跟你前面的throw new XXXException("xxxx")作用是一样的,后面加上的e.getMessage()是Exception类的方法,返回的就是e的message,也就是你的MaoYanException类的message,也就是你throw new MaoYanException("电脑冒烟啦!");这一行里面写的"电脑冒烟啦!"
追问
我还是不太理解  不过你可以告诉我流程顺序吗  整个程序的流程用文字走遍   估计我就懂 了  拜托了 大神  ==给你加分
追答
t.prelect(); --->
comp.run();--->
if(state == 2)
throw new MaoYanException("电脑冒烟啦!"); --->
这里因为throw了一个Exception,回到t.prelect();的try catch--->

prelect() catch到了一个MaoYanException --->
print e.toString() 也就是MaoYanException: 电脑冒烟啦!--->
然后到了下一行test();--->
然后到了下一行throw new NoPlanException(xxx),然后这个新的Exception的message就是你括号里面的东西,同时e.getMessage()就是你当前catch到的那个MaoYanException的message --->
然后抛出的异常被上一层方法也就是main里面的try catch捕获到,进入--->
catch{
printxxxxx

}
然后打印出最后两行,程序结束
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式