0

特定の方法で例外を処理したいと思います。

try
{
    for (int i = 0; i < rows.Count; i++)
    {
        doSomething();
    }
}
catch (Exception e)
{
    return false;
}

im runningは、ienumをスローし、doSomething()メソッドを使用してelemを見つけようとします。問題は、このメソッドが見つからない場合に例外をスローすることですが、列挙型全体で要素が見つからないことを確認する必要があります。

だからこれが問題です...キャッチの中にこれを行う方法があるかどうか知りたいです:

if(i<rows.Count)
  continueFor;

事前にタイ。

4

2 に答える 2

3

forループにtry catchを入れます

for (int i = 0; i < rows.Count; i++)
 {
    try{
      doSomething();
     }
     catch(Exception ex){

        // do something else

     }
 }

この方法で i を参照できます。または、プロパティを i に設定すると、キャッチで (i) が何であるかがわかります。

Int32 lastNumber = 0;

try{
for (int i = 0; i < rows.Count; i++)
 {
     lastNumber = i;
      doSomething();


 } 
}
catch(Exception ex){

        // do something else with lastNumber

}
于 2012-12-04T11:52:09.333 に答える
0

代わりに、DoSomething メソッドからブール値を返し、ループ内で返された値をテストする必要があります。本当に try/catch ブロックが必要な場合は、メソッド内に配置してください。特に、catch で発生した例外を使用していないためです。

 bool returnValue;
 for (int i = 0; i < rows.Count; i++)
                {
                    if(doSomething())
                        returnValue = true;
                }
 return returnValue;
于 2012-12-04T11:53:23.903 に答える