{
static int i = 10;
public static void main(String args[])
{
i = i*2;
try
{
assert isValid() : i = i/4;
}
catch(AssertionError ignore){
System.out.println("--------------");
}
System.out.println("i = " +i);//*********这行被执行了?
}
public static boolean isValid()
{
i = i * 2;
return false;
}
}
用javac -source 1.4 AssertTest.java编译后,用java -ea AssertTest运行,
为什么**********那一行仍然被执行了?
6 个解决方案
#1
up
#2
当然执行了,执行完catch中的语句后,catch之后的语句仍然执行。
#3
是的,当然会执行了。执行完catch中的语句后,catch之后的语句仍然执行。一般在catch块中捕捉到异常后,为了程序流程的需要,最好在这个块中返回。return ...
兄弟,这是常识啊。你咋搞的,都三个角了。
兄弟,这是常识啊。你咋搞的,都三个角了。
#4
无论什么语言都执行流程都一样。
#5
谢谢个位,
这几天复习SCJP,头晕了。
lllllllllluoyi(罗毅) 批评得对,小弟会继续努力的
这几天复习SCJP,头晕了。
lllllllllluoyi(罗毅) 批评得对,小弟会继续努力的
#6
assert isValid() : i = i/4;
断言是什么意思?
断言是什么意思?
#1
up
#2
当然执行了,执行完catch中的语句后,catch之后的语句仍然执行。
#3
是的,当然会执行了。执行完catch中的语句后,catch之后的语句仍然执行。一般在catch块中捕捉到异常后,为了程序流程的需要,最好在这个块中返回。return ...
兄弟,这是常识啊。你咋搞的,都三个角了。
兄弟,这是常识啊。你咋搞的,都三个角了。
#4
无论什么语言都执行流程都一样。
#5
谢谢个位,
这几天复习SCJP,头晕了。
lllllllllluoyi(罗毅) 批评得对,小弟会继续努力的
这几天复习SCJP,头晕了。
lllllllllluoyi(罗毅) 批评得对,小弟会继续努力的
#6
assert isValid() : i = i/4;
断言是什么意思?
断言是什么意思?