2017-07-21 10 views
-1

数日前に私はこのサイトの質問をしましたが、時間を分かち合ってくれた人たち(私に助けてくれてありがとう)は本当に私の考えを理解していないと思います。ここにリンクがありますCatch and Continue? C#もう一度試してみてください

私はtry-catchを終了し、残りのコードを続けたいと思っていました。しかし、私はしない

私の質問はあるが、より多くの改革:

私はのtry-catchを取得したいが、私は最後まで試みを必要とするが、でもそれは例外を返します。このような:

 // I thought a perfect example with math for this case. 
     // It is possible to divide a number with negative and positive numbers 
     // but it is not possible to divide a number by zero, So 
     // 5/5= 1     // ok 
     // 5/4= 1.25    // ok 
     // 5/3= 1.66666666667  // ok 
     // 5/2= 2.5    // ok 
     // 5/1= 5     // ok 
     // 5/0= Math Error // Oh, this is an error so I stop the try here. 
     // 5/-1= -5    // foo 
     // 5/-2= -2.5    // foo 
     // 5/-3= -1.66666666667 // foo 
     // 5/-4= -1.25    // foo 
     // 5/-5= -1    // foo 
     // foo = This is not a error, but I will not do it because the previous error 

私はその例外を「無視」とのtry-catch(ゼロ除算を無視して、すべての正と負の数を分割します。)私はそれがどのように行うことができますを継続することで、ここで必要がありますか?

これは私の問題の単なる明確な例です。誰かがリストボックスにすべての数字を入れて、私の望むものを削除すると言っても、元のコードは常に同じ例外を返します。 未定義の結果yは両方ともxとすることができます)。

(メモリや容量の不足などの重要な例外は、任意の論理的な問題をすることはありません、単純な例外であるため、例外を無視して問題がないではありません)

はありがとうございました!

+0

正しく理解できない場合は修正してください:例外があればループから脱出したいですか? –

答えて

0
try { operation1(); } catch { } 
try { operation2(); } catch { } 
try { operation3(); } catch { } 
... 

あなたがこれをやりたがっている場合は、あなたのデザインパターンに欠陥がある可能性があります。

2

私は、これはあなたが欲しいものだと思う:

foreach(var x = 5; x > -5; x--) 
{ 
    try 
    { 
     // Do the math here 
    } 
    catch(Exception) 
    { 
     // Log/Print exception, just don't throw one or the loop will exit 
    } 
} 

上記のコードは、例外が発生した場合でも、処理を継続します。

関連する問題