0 0

Exception 是内部是怎么执行的?10

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



问题补充:System.out,标准输出设备会缓冲显示屏,如果用System.err,标准错误设备就不缓冲显示屏。
改用System.err 就会严格按顺序输出。
应该是这个原因吧?
OO 
2011年10月19日 14:33

1个答案 按时间排序 按投票排序

0 0

采纳的答案

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

Throwable.printStackTrace(System.out);

2011年10月19日 14:47

相关推荐

    解决Exception java.sql.SQLException ORA-00600 内部错误代码

    在oracle里面运行一下,解决Exception java.sql.SQLException ORA-00600 内部错误代码

    trycatchfinaly

    1. try的意思,就是试着执行里面的语句,所以如果try内部抛出了异常 Exception,那么,将会执行catch 部分,以及try 外边的后面的语句。 2. 如果 try 内部出现了Error,表示出错,后面的语句就不执行了,catch也抓...

    Java问题宝典2012版

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 8 2、Java有没有goto? 8 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...

    千方百计笔试题大全

    62、error和exception有什么区别 16 63、ArrayList和Vector的区别 16 64、Collection 和 Collections的区别 17 65、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别 17...

    java面试宝典

    62、error和exception有什么区别 16 63、ArrayList和Vector的区别 16 64、Collection 和 Collections的区别 17 65、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别 17...

    JavaScript异常处理

    在代码的运行过程中,错误是不可避免的,总的来说,错误发生于两种情况:一是程序内部的 逻辑或者语法错误,二是运行环境或者用户输入中不可预知的数据造成的错误。对于前者,就称之为错误(error),可以通过调试...

    java 面试常问的问题 如何回答

    一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?...42、error和exception有什么区别? 28 43、Java中的异常处理机制的简单原理和应用。 28 等等........

    java web 期末考试必过宝典

    答:JSP 共有以下 9 种基本内置组件(可与 ASP 的6 种内部组件相对应): request :用户端请求,此请求会包含来自 GET/POST 请求的参数; response :网页传回用户端的回应; pageContext :网页的属性是在这里管理...

    java基础题 很全面

    34. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 11 35. 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 11 36...

    java面试宝典2012版.pdf

    38、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 39、下面的程序代码输出的结果是多少? 40、final, finally, finalize的区别。 41、...

    变态级JAVA程序员面试32问

     第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?  第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很...

    C 语言编程常见问题解答.chm

    8.7 在程序退出main()函数之后,还有可能执行一部分代码吗? 8.8 用PASCAL修饰符说明的函数与普通C函数有什么不同? 8.9 exit()和return有什么不同? . 第9章 数组 9.1 数组的下标总是从0开始吗? 9.2 ...

    内部排序算法大总结Java版

    总结了所有的内部排序算法,包括插入排序,选择排序,交换排序,基数排序,归并排序等等

    JAVA面试题最全集

    子句就会执行,然后控制就会进入 finally 块(如果有的话)。 finalize?方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这...

    java面试题

    Struts2以核心控制器FilterDispatcher为基础,包含了框架内部的控制流程和处理机制。 Hibernate工作原理,Hibernate数据持久化? 答:Hibernate工作原理: 1:读取并解析映射信息,创建SessionFactory 2:打开...

    Java程序员面试题及解答

     第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?  第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很...

    java 面试题 总结

    sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。 wait是Object类的方法,对此对象调用wait方法导致本线程...

    微软内部 C# 培训资料

    微软内部非公开资料,值得一读。 Objectives After completing this course, you will be able to: List the major elements of the .NET Framework and explain how C# fits into the .NET Platform. Analyze...

    C语言编程要点

    8.7. 在程序退出main()函数之后,还有可能执行一部分代码吗? 135 8.8. 用PASCAL修饰符说明的函数与普通C函数有什么不同? 136 8.9. exit()和return有什么不同? 136 第9章 数 组 137 9.1. 数组的下标总是从0开始吗? ...

    Java面试宝典2010版

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 2、Java有没有goto? 3、说说&和&&的区别。 4、在JAVA中如何跳出当前的多重嵌套循环? 5、switch语句能否作用在byte上,能否作用在long上...

Global site tag (gtag.js) - Google Analytics