David622 2011-10-19 14:33
浏览 202
已采纳

Exception 是内部是怎么执行的?

public class Test {
public static void main(String[] args) {

System.out.println(Math.ceil(999));
System.out.println(Math.ceil(5.0));
System.out.println();
new RuntimeException("exception").printStackTrace();
System.out.println();
System.out.println(Math.ceil(5.0));
System.out.println(Math.ceil(5.0));
System.out.println(Math.ceil(5.0));

}
}

这个类的运行结果中,为什么打印出来的RuntimeException的地方不一样?
感觉是随机出现的。结果如下:
999.0
5.0

5.0
5.0
5.0
java.lang.RuntimeException: exception
at com.david.cc.Test.main(Test.java:18)

java.lang.RuntimeException: exception
at com.david.cc.Test.main(Test.java:18)
999.0
5.0

5.0
5.0

5.0

999.0
5.0

java.lang.RuntimeException: exception
5.0
5.0

at com.david.cc.Test.main(Test.java:18)
5.0

  • 写回答

1条回答

  • fmjsjx 2011-10-19 14:47
    关注

    Throwable.printStackTrace()方法是通过System.err打印的,所以和System.out的打印是可能会出现问题的。
    如果要严格控制打印输出地话请这样使用:
    [code="java"]
    Throwable.printStackTrace(System.out);
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 请求分析基于spring boot+vue的前后端分离的项目
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?