为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我输出的结果是先有e.printStackTrace();捕获到的异常,之后才输出

抛出异常了

test1方法执行完毕,返回值result:-1

请教一下,谢谢


正在回答

7 回答

e.printStackTrace();输出的结果是随机位置的

3 回复 有任何疑惑可以回复我~

在数据库student中有一张学生信息表(stu_info),包含如下字段:id(学号)、name(姓名)、address(家庭住址)。其中id为整型,其余均为字符串类型。请编写java程序,要求从学生信息表(stu_info)中查询出所有学生的记录,并在控制台打印出所有学生的记录信息     求教!

0 回复 有任何疑惑可以回复我~

我试过了,放在第一行,异常信息便第一个输出,放在第二行便第二个输出异常信息,不像随机。

1 回复 有任何疑惑可以回复我~

错了。不是随机的。e.printStackTrace(),是将出现的异常信息写入标准输出流中(注意,不是打印在控制台中。),标准输出是在缓存中的,不会马上就打印出来显示在屏幕,需要在输出流缓存中积累多几个字符,才能打印出来(我们可以使用flush函数把缓冲区的数据强行打印出来!)。

正是要堆缓存的缘故,不知道程序在运行使得输出流缓存堆满的具体时间,会让各位觉得,这输出的出现时随机的。

4 回复 有任何疑惑可以回复我~
#1

_Jack_Han_

说得好细微,但是没看懂。
2016-01-30 回复 有任何疑惑可以回复我~
#2

中天123

这些内容在哪可以学到啊,感觉很深奥的样子
2016-02-17 回复 有任何疑惑可以回复我~

。。解决了吗

0 回复 有任何疑惑可以回复我~

老师在写test2()  后,在主函数定义了一个result2,但是result2,没有用上,只是执行了一段输出语句。所以我自己写的时候尝试屏蔽了result2的声明,运行正常,但是输出的结果就没有了finally语句快中的结果,也就是说finally语句块没有执行。这个声明的result2 变量有关系么

1 回复 有任何疑惑可以回复我~

3Q,我也做了试验,确实是出现在随机的位置

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信