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

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

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

У меня есть примерно такой код:
Листинг программы
  1. for (...) {
  2. if (...) {
  3. if (...) {
  4. double d;
  5. try {
  6. d = (double)someobject;
  7. } catch (System.InvalidCastException) {
  8. что-то пишем в лог
  9. }
  10. делаем что-то еще, если исключение не брошено, используя d
  11. } else {
  12. int d;
  13. try {
  14. d = (int)someobject;
  15. } catch (System.InvalidCastException) {
  16. что-то пишем в лог
  17. }
  18. делаем что-то еще, если исключение не брошено, используя d
  19. }
  20. } else {
  21. if (...) {
  22. bool d;
  23. try {
  24. d = (bool)someobject;
  25. } catch (System.InvalidCastException) {
  26. что-то пишем в лог
  27. }
  28. делаем что-то еще, если исключение не брошено, используя d
  29. } else {
  30. string d;
  31. try {
  32. d = (string)someobject;
  33. } catch (System.InvalidCastException) {
  34. что-то пишем в лог
  35. }
  36. делаем что-то еще, если исключение не брошено, используя d
  37. }
  38. }
  39. }
Как сделать так, чтобы блоки try/catch не дублировались? Вообще хочу просто уведомлять пользователя о том, что какой-то объект имеет не тот тип, который ожидает программа.

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

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

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


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

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

12   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы