Я делаю это в событии Form_Load()
настольного приложения
string strDay = DateTime.Now.DayOfWeek.ToString().ToUpper();
try
{
fnBirthDayReminder();
}
catch (Exception ex)
{
}
try
{
if (strDay == "SUNDAY" || strDay == "TUESDAY" || strDay == "THURSDAY")
{
fnAwaitingLeaveApplicationReminder();
}
}
catch (Exception ex)
{
}
try
{
fnLeavePlanRemainder();
}
catch (Exception ex)
{
}
try
{
fnContractExpiryRemainder();
}
catch (Exception ex)
{
}
Application.Exit();
Но приложение существует сразу после выполнения первого блока try..catch
.Даже если я поставлю точку останова на следующую попытку ... поймать, эти точки останова не будут достигнуты.Я действительно смущен таким загадочным поведением.Пожалуйста, помогите!
Для всех вас: «, если один метод вызывает исключение, другие методы не будут запускаться. », это основная причина, по которой я использую отдельные блоки try..catch.Таким образом, даже если функция выдает исключение, может выполняться следующее.
Edit2
Можете ли вы предложить мне хороший подход, отличный от того, который я здесь использую для выполнения следующей функциидаже если исключение произошло во время первой функции.То, что некоторые из вас предлагают (вызывая все функции в одном блоке try с несколькими блоками перехвата), не сработает, это точно.Я думаю о перекодировании методов, не тратя больше времени.