有关Java的问题 Throwable中getMessage()干什么用的 问题:getMessage()中为什么显示5

publicclassTestException{publicstaticvoidmain(String[]args){try{System.out.println(su... public class TestException {
public static void main(String[] args) {
try {
System.out.println(sum(new int[] {1, 2, 3, 4, 6}));
}
catch (Exception ex) {
ex.printStackTrace();
System.out.println("\n" + ex.getMessage());
System.out.println("\n" + ex.toString());

System.out.println("\nTrace Info Obtained from getStackTrace");
StackTraceElement[] traceElements = ex.getStackTrace();
for (int i = 0; i < traceElements.length; i++) {
System.out.print("method " + traceElements[i].getMethodName());
System.out.print("(" + traceElements[i].getClassName() + ":");
System.out.println(traceElements[i].getLineNumber() + ")");
}
}
}

private static int sum(int[] list) {
int result = 0;
for (int i = 0; i <= list.length; i++)
result += list[i];
return result;
}
}
展开
 我来答
fightxxl55
2012-10-27 · TA获得超过558个赞
知道答主
回答量:159
采纳率:100%
帮助的人:77.4万
展开全部
你在try{}中调用了这个方法,传入的数组世激长冲返毁度是5,但是在你的sum方法中的for循环循环了6次,把for循环改成for(int i = 0; i < list.length; i++),这散备样就好了。 getMessage()方法是用来取错误消息的。输出5是因为想要提示你数组长度是5,不能循环6次。
redfox9112
推荐于2018-05-09 · TA获得超过134个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:135万
展开全部
getMessage方法是用来取内数差置的消息的
具体来说,扮毕没就是你在new Exception的时厅纳候给的那个String参数
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式