为什么不执行e.getMessage()???

代码:publicclassMyEXceptionextendsException{Stringa;MyEXception(Strings){a=newString(s)... 代码:
public class MyEXception extends Exception {

String a;
MyEXception(String s){
a=new String(s);
//System.out.println(s);
// System.out.println(a);
}
void getMsssage(){
System.out.println(a);
}

}
public class Calculate {
public int multiply(int m,int n) throws MyEXception{
int re;
re=n*m;
if(re>1000)
throw new MyEXception("相乘结果"+re+"超过了"+1000);
return re;
}
void show(int a){
System.out.println(a);
}
}
public class Exam1_4 {
public static void main(String []args){
Calculate c=new Calculate();
try{
c.show(c.multiply(26,45));
}
catch(MyEXception e){
System.out.println("出现错误!");
e.getMessage();

}
}

}
在同一个包里。。。。。急求~~~!!!!
展开
 我来答
chianlic
2015-11-01 · TA获得超过804个赞
知道小有建树答主
回答量:812
采纳率:83%
帮助的人:602万
展开全部
e.getMessage();
这一句只是获取到了异常消息,但是并没有打印出来
所以在程序运行时是没法直观体现的。
你可以把那两句合并为一句:
System.out.println("出现错误!异常信息如下:"+ e.getMessage());
匿名用户
2014-04-24
展开全部
public class MyEXception extends Exception {

@Override
public String getMessage() {
// TODO Auto-generated method stub
System.out.println(a);
return super.getMessage();
}

String a;
MyEXception(String s){
a=new String(s);
//System.out.println(s);
// System.out.println(a);
}

}
getMessage需要重写,exception里本身有一个getmessage方法了,你用的名称正好正好和那个相重了,可以覆盖父类方法,也可以改个名称。而且你main函数中的e.getMessage();
与getMsssage()不一致,粗心把message 写成msssage了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kzby2003
2014-04-24 · TA获得超过392个赞
知道小有建树答主
回答量:266
采纳率:0%
帮助的人:110万
展开全部
你怎么知道没有执行呢?Debug的吗?
用一个String型变量接收一下e.getMessage();的值,打印一下不就知道了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式