Обертка над исключением - Сделать так, чтобы блоки try/catch не дублировались - C#

Узнай цену своей работы

Формулировка задачи:

У меня есть примерно такой код:
for (...) {
    if (...) {
        if (...) {
            double d;
            try {
                d = (double)someobject;
            } catch (System.InvalidCastException) {
                что-то пишем в лог
            }
            делаем что-то еще, если исключение не брошено, используя d
        } else {
            int d;
            try {
                d = (int)someobject;
            } catch (System.InvalidCastException) {
                что-то пишем в лог
            }
            делаем что-то еще, если исключение не брошено, используя d
        }
    } else {
        if (...) {
            bool d;
            try {
                d = (bool)someobject;
            } catch (System.InvalidCastException) {
                что-то пишем в лог
            }
            делаем что-то еще, если исключение не брошено, используя d
        } else {
            string d;
            try {
                d = (string)someobject;
            } catch (System.InvalidCastException) {
                что-то пишем в лог
            }
            делаем что-то еще, если исключение не брошено, используя d
        }
    }
}
Как сделать так, чтобы блоки try/catch не дублировались? Вообще хочу просто уведомлять пользователя о том, что какой-то объект имеет не тот тип, который ожидает программа.

Решение задачи: «Обертка над исключением - Сделать так, чтобы блоки try/catch не дублировались»

textual
Листинг программы
swith(someobject.GetType().ToString())
{
  case "System.Double": ...
}

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

12   голосов , оценка 3.667 из 5
Похожие ответы