什么简单的方法来摆脱Java块?

Jag*_*gat 7 java

我只是想知道是否有任何方法可以摆脱Java块.它可以是任何块 - 如果是块,则是块,甚至是简单的{}.这是因为我经常遇到这种情况

{
  retCode = performSomeThing();
  if(retCode == SUCCESS)
  {
    retCode = performSomethingElse();
    if(retCode == SUCCESS)
    {
         . . . 
          . . . 
    }
   }
}
Run Code Online (Sandbox Code Playgroud)

这种多级缩进会使我编写的代码变得混乱.

相反,我需要一些方法来做到这一点

if((retCode = performSomething()) != SUCCESS)
  GET_OUT_OF_BLOCK
if((retCode = performSomethingElse()) != SUCCESS)
  GET_OUT_OF_BLOCK
Run Code Online (Sandbox Code Playgroud)

根据retCode的值,我将在块外执行任何所需的处理.如果它不涉及在try-catch块中编写该块,创建一个新的异常类型,抛出然后捕获它,那将会很好.

Kil*_*oth 20

要使用的正确结构是return.这意味着你的例子中的一个块应该是一个方法,但无论如何这是一个好主意 - 方法很长,它们包含多个复杂的控制流替代方案是反模式.帮自己一个忙,今天就切换到"每个方法一个目标"!<end of evangelism>


Tho*_*sen 7

看看breakcontinue