Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# Should I Loop until no exception?

Tags:

c#

loops

I want to go once through a loop but only if an exception is thrown go back through the loop. How would I write this in C#?

Thanks

like image 838
Jade M Avatar asked Oct 24 '09 23:10

Jade M


People also ask

What C is used for?

C programming language is a machine-independent programming language that is mainly used to create many types of applications and operating systems such as Windows, and other complicated programs such as the Oracle database, Git, Python interpreter, and games and is considered a programming foundation in the process of ...

What is C full form?

Full form of C is “COMPILE”.

Is C language easy?

C is a general-purpose language that most programmers learn before moving on to more complex languages. From Unix and Windows to Tic Tac Toe and Photoshop, several of the most commonly used applications today have been built on C. It is easy to learn because: A simple syntax with only 32 keywords.

What are the basics of C?

C is a general-purpose programming language created by Dennis Ritchie at the Bell Laboratories in 1972. It is a very popular language, despite being old. C is strongly associated with UNIX, as it was developed to write the UNIX operating system.


2 Answers

What about the following where you can set a retry count:

            int tryCount = 0;

            while (tryCount < 3)
            {
                try
                {
                    someReturn = SomeFunction(someParams);
                }
                catch (Exception)
                {
                    tryCount++; 
                    continue;
                }
                break; 
            }
like image 127
oguy Avatar answered Oct 03 '22 05:10

oguy


This smells of bad design to me. The general rule is: exceptions should not be used for flow control. There are a number of reasons for this; namely, there are usually better/more reliable methods that can be used to check things before an exceptions is thrown, and also it decreases efficiency.

Nonetheless, just for the sake of argument, you could do something like the following:

while (true)
{
    try
    {
        // do stuff here
    }
    catch (MyException)
    {
        continue;
    }

    // all is good
    break;
}

Again - this is not the recommended way. I would be happy to suggest something better if you could provide a bit more context/examples/

like image 45
Noldorin Avatar answered Oct 03 '22 04:10

Noldorin