Обертка над исключением - Сделать так, чтобы блоки 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": ...
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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