2016-10-19 3 views
-2

私は以下のような関数を作ろうとしています。私はそれを反復的にしたいのですが、すべてのパスを開いたままにする必要があるので、わかりません。switchステートメントでtry catch recursionを繰り返す方法は?

someFunction(parameters) 
{ 
    //do stuff 

    switch(thing) 
    case: one 
    if (something true) 
    { 
     try { someFunction(different parameters) } catch(...) { throw } 

    case: two 

    //if else with the else being a throw exception. 
    case: three 

    // same 
    case: four 
    ... 

    default 

return some value 

答えて

0

私はうまく理解できませんでしたが、私は助けようとします!私はケースに戻りますキャッチした後、switch文でそれを使用することができ

... 
try 
{ 
if(b == 0) 
    throw("A number cannot be devided by zero!\n"); 
c = a/b 
} 
catch(string error) 
{ 
     cout << "ERROR: "<< error << endl; 
} 
return c 
... 

:どのように例外を使用する

switch(c) 
{ 
case 0: 
    ... 
    try { ... throw();} 
    catch() { ... error treatment} 
    ... 
    break; 
case 1: 
... 
} 
+0

私は例外を少し理解し、私は例外を削除し、反復中に開いているすべてのパスを維持せずに、反復関数にこの再帰関数を作るのに適している方法を見つけることに苦労しています。 –

関連する問題