A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 涐扪①起奮乧 中级黑马   /  2013-11-1 17:14  /  1087 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Demo
{
   int div (int a, int b)
   {
      return a/b;
   }
}

class ExceptionDemo
{
   public static void main(String[] args)
       {
             Demo d = new Demo();
             try
             {
                int x = d.div(4,0);
                System.out.println("x="+x);
              }
            catch(Exception  e)
            {
               System.out.println("除零了");
               e.printStacktrace();
            }
       }
}

请问 e.printStacktrace();为什么不能写成System.out.println(e.printStacktrace());就是说为什么不能放在输出语句中打印。printStacktrace();没有返回值,就不能再输出语句中打印,原因是什么?请大家帮忙解释一下。谢谢

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

4 个回复

倒序浏览
你看看 System.out.println() 方法的参数是什么
回复 使用道具 举报
零下五度的水 发表于 2013-11-1 17:26
你看看 System.out.println() 方法的参数是什么

java 中的System.out.println 函数进行了重载,就是只有一个参数
参数类型可以是整型、字符型、对象、浮点型。。。但是为什么不能在输出语句中打印还是不知道。。请解释明细一点,谢谢
回复 使用道具 举报
e.printStacktrace()这个方法是void类型的 就是说这个函数执行完是不会返回东西的了 没有东西返回那System.out.println();打印什么呢 你把它当成普通的方法 方法体里面只有一句话 例如里面就是System.out.println("a"); 在这个方法里面打印完"a"后就没有东西了 既然你已经看到异常这部分了 我想这个问题对你来说应该不难吧System.out.println();方法需要参数 但你这里相当于没有参数传进去

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
ixiangfeng 发表于 2013-11-1 17:39
e.printStacktrace()这个方法是void类型的 就是说这个函数执行完是不会返回东西的了 没有东西返回那System. ...

思绪清楚一些了,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马