I'm looking for the best method of handling errors in a c# winforms class that I have. The gist of the application is that it has a data analyzer that analyzes the data for statistics and other such stuff. However, I'm looking for the proper way of handling an ABORT.

For example, I have the class called Analyzer

```
namespace PHOEBE
{
    public class Analyzer
    {
        public Analyzer(){
            DoAnalysis();
            DoFurtherAnalysis();
        }

    public class DoAnalysis(){
        try{
            Convert.ToInt32("someNumber...."); //obviously fails..
        }
        catch{
          //ERROR OCCURRED, ABORT ALL ANALYSIS
            return;
        }
    }
}

```

Obviously, when DoAnalysis() is called, there will be an error that occurs. The catch block will catch the exception. However, when this catch occurs, it will return to the constructor and run DoFurtherAnalysis(). This is a problem. 

I know that you could do return values from each method where each value indicates a certain outcome (ie. 1 = success, 0 = fail). However, a lot of the methods I call, use return values already. I could also use a boolean that gets flagged when an error occurs and check that value before calling the next method from the constructor, but checking this value each time is annoying and repetitive. 

I was really hoping for some sort of like "abort mechanism" that I could use. Is there any other ways of working around this? Any interesting work-arounds for this? 

Assume this class is being called from a form.
['https://Stackoverflow.com/questions/9776878', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/821484/']
Don't see anything anoying in returning and checking `bool` return value from the function. It's much much better solution then having some tricky internal state management, that you for sure will messed up after a couple of months when you return to your code.

Make code sumple and streghtforward. It's not anoying, it's good.

In your specific case if you want just abort **everything**, just do not `catch` exception it will abort your program.
use a try...catch in the constructor?