Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2013, 11:33   #1
WizarD.89
Форумчанин
 
Аватар для WizarD.89
 
Регистрация: 02.12.2010
Сообщений: 160
Радость Выброс исключения :)

Здравствуйте. Я пишу свой метод (MyMetod), используя в нем другие методы которые выбрасывают исключения.

Потом этот метод MyMetod запускаю из другого класса, откуда мне знать какие исключения будет выбрасывать этот метод? если по логике метод MyMetod не должен обрабатывать исключения?

Сейчас появилась идея, это отлавливать все исключения в MyMetod, и выбрасывать свой специфичные исключения. И потом их документировать, так тогда сколько же будет собственных исключений.
WizarD.89 вне форума Ответить с цитированием
Старый 31.07.2013, 22:11   #2
samarjan
 
Регистрация: 04.10.2012
Сообщений: 5
По умолчанию

не сильен в этом, но почему бы не отлавливать просто ошику как Exeption е и в блоке катч выкинуть тот же объект?
samarjan вне форума Ответить с цитированием
Старый 31.07.2013, 22:37   #3
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Что-то типа этого?
Код:
try
{
...
}
catch (MyException myEx)
{
// Обработка своих собственных исключений
}
catch (Exception ex)
{
  // Обработка всех остальных исключений
  throw; // Эта строка пробрасывает "не свое" исключение дальше
}
Цитата:
но почему бы не отлавливать просто ошику как Exeption е и в блоке катч выкинуть тот же объект?
только если писать просто "throw;", а не "throw e;"
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 01.08.2013, 11:04   #4
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Есть такая вещь как AggregateException. Это исключение, содержащее в себе ссылку на исходное исключение (такая обёртка получается) и новое сообщение.
Например, если метод парсит xml и происходит ошибка формата файла, то вам выпадет некий эксепшн X, вы его поймаете в вашем методе и выбросите AggregateException с исключением X в параметрах и сообщением "не удалось загрузить xml".
Тогда можете сделать так, чтобы ваш метод выбрасывал только его, и именно это исключение и документировать.
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 01.08.2013, 11:36   #5
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от WizarD.89 Посмотреть сообщение
Потом этот метод MyMetod запускаю из другого класса, откуда мне знать какие исключения будет выбрасывать этот метод?
если по логике метод MyMetod не должен обрабатывать исключения?
Вообщето согласно технологии разработки ПО вы должны в мануале четко описать следующие вещи:
1. Что делает метод.
2. Какие входные параметры
3. Какие выходные параметры
4. Какие исключительные ситуации порождает

Остальное на усмотрение разработчика метода, но у конечного программиста не должно быть никаких вопросов по использованию вашего метода.

Тут подходить надо системно. В студии все классы исключений уже существуют, вам лишь надо определится с тем под какую группу исключений попадают ваши ситуации.
На худой конец вы можете выкидывать глобальный класс исключения Exception задавая в конструкторе класса свои описания ситуации или комментарии.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исключения в Qt iukash Qt и кроссплатформенное программирование С/С++ 6 16.04.2011 18:54
Исключения C++ Impuls1989 Помощь студентам 2 04.03.2011 00:51
Исключения yurik1982 Фриланс 9 16.02.2010 00:34
Выброс из записи исходного числа цифр( v delfi) viklen Помощь студентам 1 14.05.2009 20:34
Исключения Rifler Общие вопросы Delphi 5 12.11.2008 00:29