これは本当に私が説明するのは非常に難しいので、私に同行してください。プロセスをメインに戻す際に例外を使用する必要がありますか?
私は、特定の状況が満たされたときに、すべての連鎖されたメソッドをメインメソッドに戻す最善の方法について考えています。例えば、私がMainからメソッドへの呼び出しを行い、そのメソッドから別のメソッドを呼び出すなどとします。ある時点で、チェーンされているすべてのメソッドのすべての操作を取り消し、単にMainメソッドに戻ることができます。これを行う最善の方法は何ですか?
私はシナリオあげる:EGインクルード(方法1がNULL値で方法2を呼び出したときにしかし、それは方法2で、さらに操作することなく、バックメインにすべての方法をほどく必要があり、3つの方法があり、以下のコードでは
を"たくさんの他のコード"セクション)。
public static void main(String[] args)
{
try
{
Method1();
}
catch(ReturnToMainException e)
{
// Handle return \\
}
}
public static void Method1() throws ReturnToMainException
{
String someString = null;
Method2(someString );
// Lots more code after here
}
public static boolean Method2(String someString)
{
if(someString == null)
throw new ReturnToMainException();
else if(someString.equals("Correct"))
return true;
else
return false;
}
この例では、読んだスローを「例外的な状況」でのみ使用してください。私はこの問題に遭遇し、問題を解決するために単にIf/Elseステートメントを実行していることがよくありますが、True/Falseを返すだけのメソッドを扱うときは、アクションを決めるための十分なオプションがありません。私は列挙子やクラスを使うことができると思いますが、やや面倒です。
「巻き戻し」が「カスケード」よりも適切だと思います。 – ChiefTwoPencils
@ChiefTwoPencilsええ、おそらく正しいでしょう:) –
もう一つのポイントは、一貫性のない戻り値の型があることです。あなたはブーンを最初の方法に戻すことができましたが、それではどうしますか? – ChiefTwoPencils