写了以下程序class myException extends Exception{
public myException() {}
public myException(String str) {
super(str);
}
}class exceptionFun{
public void f() throws myException{
System.out.println("in Function f");
throw new myException();
}

public void g() throws myException{
System.out.println("in Function g");
throw new myException("I have a name !!");
}
}public class TestException { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
exceptionFun ef = new exceptionFun();

try{
ef.f();
}catch (myException e) {
// TODO: handle exception
e.printStackTrace();
}

try{
ef.g();
}catch (myException e) {
// TODO: handle exception
e.printStackTrace();
}

}
}
测试之后发现输出为myException
at exceptionFun.f(TestException.java:12)
at TestException.main(TestException.java:31)
myException: I have a name !!
at exceptionFun.g(TestException.java:17)
at TestException.main(TestException.java:38)
in Function f
in Function g
这个顺序我和设想的不一样啊, 这是怎么回事呢?另外,以前写程序的时候 用到Println 和 Read 相结合时, 也发现输出被推迟了.请问,该如何解决这个问题呢? 谢谢