黑马程序员技术交流社区
标题:
关于Catch 是单线程运行么?可我测试结果怎么是乱的?
[打印本页]
作者:
huanlong579
时间:
2016-3-17 00:24
标题:
关于Catch 是单线程运行么?可我测试结果怎么是乱的?
这个是我关于异常的测试,为什么结果不是按如下顺序显示(有时候):
aaaaaaaaaaaaaaaaaaaannnnnnn
Exception in thread "main" java.lang.RuntimeException: 抛出运行时异常
at ItHeiMa.FangXin.throwRuntimeException(FangXin.java:35)
at ItHeiMa.FangXin.main(FangXin.java:16)
public static void main(String[] args)
{
try {
FileInputStream f=new FileInputStream("a.text");
} catch (Exception e) {
System.out.println("aaaaaaaaaaaaaaaaaaaannnnnnn");
}
throwRuntimeException(10);
throwCheckedException(10);
}
private static void throwCheckedException(int a)
{
if(a>9)
try {
throw new Exception("抛出检查异常");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static void throwRuntimeException(int a)
{
if(a>9)
throw new RuntimeException("抛出运行时异常");
}
复制代码
多运行几次,结果可能如下:
Exception in thread "main" aaaaaaaaaaaaaaaaaaaannnnnnn
java.lang.RuntimeException: 抛出运行时异常
at ItHeiMa.FangXin.throwRuntimeException(FangXin.java:35)
at ItHeiMa.FangXin.main(FangXin.java:16)
或者如下:
Exception in thread "main" java.lang.RuntimeException: 抛出运行时异常
at ItHeiMa.FangXin.throwRuntimeException(FangXin.java:35)
at ItHeiMa.FangXin.main(FangXin.java:16)
aaaaaaaaaaaaaaaaaaaannnnnnn
Main方法不是单线程么?可每次运行结果为什么会不一样,求大神解释,谢谢!
C:\Documents and Settings\user\桌面
作者:
huanlong579
时间:
2016-3-17 00:27
自己先顶一个,有木有大神解释一下,万分感谢!
作者:
debuggerx01
时间:
2016-3-17 04:34
你debug看看线程变化情况呗~~
作者:
huanlong579
时间:
2016-3-17 12:38
debuggerx01 发表于 2016-3-17 04:34
你debug看看线程变化情况呗~~
Debug,看起来是单线程
作者:
huanlong579
时间:
2016-3-17 12:39
自己再顶一下,求大神,黑马大神么,给个解释,万分感谢
作者:
huanlong579
时间:
2016-3-17 12:55
本帖最后由 huanlong579 于 2016-3-17 12:57 编辑
大神呢,求大神指教,在线等~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2