java - Eclipse 中的控制台打印顺序

标签 java eclipse exception eclipse-juno

<分区>

我在 Eclipse 中输入了一个简单的算术程序。在 Eclipse 中运行程序时,每次运行时输出都会以奇怪的顺序出现。有时异常最后出现 print 语句最先出现(这是正确的方式)。有时它以困惑的顺序出现,反之亦然。为什么会发生以及如何纠正?每次执行时是否有任何设置使其以正确的方式打印。下面的屏幕截图显示了它的显示方式。请帮我解决这个问题。

正确顺序: Correct Order when run

我们运行几次后顺序不正确 Incorrect Order

 package com;

    public class Abc {

        /**
         * @param args
         */
        public static void main(String[] args) {

            System.out.println("begin main");
            // TODO Auto-generated method stub
            int a = 10;
            int b = 0;
            int c = 0;


            System.out.println("value of a BD is " + a);
            System.out.println("value of b BD is " + b);
            System.out.println("value of c BD is " + c);

            c = a/b; //Arthmetic Exception

            System.out.println("value of a AD is " + a);
            System.out.println("value of b AD is " + b);
            System.out.println("value of c AD is " + c);



        }

    }

最佳答案

这里使用了两个不同的流。您正在使用 System.out. 并且使用 System.err 打印异常。它们经过缓冲,因此一个人的输出可能会先于另一个人的输出。

您可以调用System.out.flush();在异常行之前:

System.out.flush();
c = a/b;  //Arthmetic Exception

关于java - Eclipse 中的控制台打印顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19641565/

相关文章:

java - OpenCV 选择灰色颜色范围

android - 在 Android 应用程序中使用 commonc 编解码器的 NoSuchMethodError

java - 如何禁用作业进度栏对话框上的取消按钮?

java - 在Android项目中使用其他项目

java - 如何在 Java 中抛出自定义的 block 异常

java - 需要编译 Java 的帮助(访问器、修改器、构造器)

java - 了解项目中的工作流程

java - Selenium Java 如何定位元素问题?

c++ - 当外部库中的线程意外崩溃我的应用程序时,我该怎么办?

gwt - 如何在 GWT RPC 中将异常从服务器端传递到客户端