{{1}}
在上面的代码中我得到了这样的输出“这是试块...... !! ”
但我想要输出, “这是尝试阻止...... !! ” “这是在try catch块之外...... !! ”
任何人都可以为这个问题提供正确的解决方案吗?我怎样才能得到我想要的输出?有人解释我吗?
答案 0 :(得分:1)
boolean trySuccessflag = false;
try{
System.out.println("This is try block...!!");
trySuccessflag = true;
}
catch(Exception e)
{
System.out.println("Exception is "+e);
}
finally
{
if(!trySuccessflag){
System.out.println("This is finally block");
}
}
System.out.println("This is outside the try catch block...");
答案 1 :(得分:0)
您的问题已经回答here
您的问题:
首先你必须知道finally
块总是被执行,要么你成功还是失败了。
其次,System.exit(0)
退出系统。所以JVM。不是Try块。因此,当你打电话给你的程序时,只需终止这就是为什么不再打印它了。
解决方案:
首先,如果你不想执行Finally块,就不要写它。编写一个你不想执行的代码是没有意义的。
其次,如果你真的需要退出finally块,请使用break;
而不是System.exit(0);
答案 2 :(得分:0)
我认为可能是这样......
public static void main(String[] args) {
try{
System.out.println("This is try block...!!");
} catch(Exception e) {
System.out.println("Exception is "+e);
}
System.out.println ("This is outside the try catch block...");
}
你的" System.exit(0);"在你的" System.out.println之前("这是在try catch块之外......")"。所以它没有用。
答案 3 :(得分:0)
删除此说明:
System.exit(0); //终止块
停止应用程序不终止finally块