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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 郑庆伟 于 2012-6-29 10:47 编辑

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)//Exception e = new ArithmeticException();
  {
   System.out.println("除零拉");
   System.out.println(e.getMessage());//  /by zero
   System.out.println(e.toString());
   System.out.println(e.printStackTrace());//此处的e.printStackTrace() 是没有返回值类型的方法
      e.printStackTrace();
  }

  System.out.println("over");
}
}
为什么没有返回值类型的方法不能放到输出语句 System.out.println();里面?

5 个回复

倒序浏览
如果没有返回类型,你把void方法放到输出语句中想输出什么呢?!
回复 使用道具 举报
为什么没有返回值类型的方法不能放到输出语句 System.out.println();里面?
放到输出语句里面没有任何意义,因为没有返回值,输出语句没有内容可以打印
回复 使用道具 举报
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)//Exception e = new ArithmeticException();
          {
               System.out.println("除零拉");
               System.out.println("getMessage()返回结果---"+e.getMessage());  //  返回结果为---- / by zero
               System.out.println("e.toString()返回结果---"+e.toString());  // 返回的结果为----java.lang.ArithmeticException: / by zero。参考下图
                //System.out.println(e.printStackTrace()); //此处的e.printStackTrace() 是没有返回值类型的方法
                                                                                 //因为该方法没有返回值,放在打印语句中编译将会出错。
                                                                                 //所以打印语句就不能正常执行,
               e.printStackTrace();  //因为该方法本身就是一个标准输出流,所以不用再写打印语句了,具体可参考下图。
          }
          System.out.println("over");
     }
}
注释掉e.printStackTrace();  时的截图

未注释时的截图

点评

你这个代码配色方案,太亮,容易引起眼睛疲劳,最好还是深色调  发表于 2012-6-29 13:23

评分

参与人数 1技术分 +1 收起 理由
刘蕴学 + 1

查看全部评分

回复 使用道具 举报
你想要输出它,又没有返回值那你输出什么?
java编译器就会提示错误,在System.out.print();语句里边就得有输出结果..
不然就会报错..
回复 使用道具 举报
是因为println()这个方法 不能使void是吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马