结束调用此方法的方法

时间:2012-01-15 20:39:54

标签: java

有没有办法结束调用代码所在方法的方法。让我解释一下你是否有这样的代码。

int value;
value = method();
value = 3;

如果我按照我想要的方式工作,那么代码的执行将在第2行结束,第3行永远不会执行。基本上就像在第2行和第3行之间有一个回报。这样的事情可能与Java有关吗?

编辑:好吧我想很多人都误解了我。在第2行的此方法中结束代码的代码应该在method()内部,如果在try中调用它,则不应该在此方法之外避免这种情况。

3 个答案:

答案 0 :(得分:4)

你的例子有点抽象,真实的例子可能会产生更好的答案。一般来说,通常有两种方法可以实现:

  1. 返回特殊值,例如-1

    int method() {
        if (/* something is wrong */) {
            return -1;
        }
    
        // Process as normal and return real value
    }
    
    ...
    
    int value;
    value = method();
    if (value == -1) {
        value = 3;
    }
    
  2. 在method()

    中抛出异常
    int method() throws IllegalStateException {
        if (/* something is wrong */) {
            throw new IllegalStateException();
        }
    
        // Process as normal and return real value
    }
    
    ...
    
    int value;
    try {
        value = method();
    } catch (IllegalStateException e) {
        value = 3;
    }
    

答案 1 :(得分:2)

您可以使用System.exit

终止当前程序/ JVM
java.lang.System.exit(0 /* Status */ );

如果您不想退出,则必须使用return。

在void方法中

int value;
value = method();
return;

或者,如果方法具有与当前方法相同的返回签名

int value;
return value = method();

答案 2 :(得分:1)

如果条件值=您预期的退货,则添加