Я ищу лучший метод обработки ошибок в классе ac # winforms, который у меня есть.Суть приложения в том, что оно имеет анализатор данных, который анализирует данные на предмет статистики и других подобных вещей.Однако я ищу правильный способ обработки ABORT.
Например, у меня есть класс с именем 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;
}
}
}
Очевидно, что при вызове DoAnalysis () произойдетбыть ошибкой, которая возникаетБлок catch поймает исключение.Однако, когда происходит этот перехват, он вернется в конструктор и запустит DoFutureAnalysis ().Это проблема.
Я знаю, что вы можете возвращать значения из каждого метода, где каждое значение указывает на определенный результат (т. Е. 1 = успех, 0 = сбой).Однако многие методы, которые я вызываю, уже используют возвращаемые значения.Я также мог бы использовать логическое значение, которое помечается при возникновении ошибки, и проверять это значение перед вызовом следующего метода из конструктора, но проверка этого значения каждый раз раздражает и повторяет.
Я действительно надеялся на что-то вроде "механизма прерывания", который я мог бы использовать.Есть ли другие способы обойти это?Какие-нибудь интересные обходные пути для этого?
Предположим, этот класс вызывается из формы.