All streams
Search
Write a publication
Pull to refresh
17
0
Никита @ifa

User

Send message
Конечно, возможны разные варианты. Например, можно обойтись вообще без генерации исключений. Например, предположим, что вызывающая программа ничего не знает (да и не должна знать) о классе ComponentInfo. Она его просто делегирует другому классу, который и производит различные манипуляции с этим объектом. Конечно, в этом случае генерация исключения в приведенном примере нам не подходит. Вот небольшой модифицированный примерчик этого:

public ComponentInfo GetComponentInfo(string id)
{
   ComponentInfo info = new ComponentInfo();
   try
   {
     //собираем этот объект разными способами
    //с возможной генерацией исключения   
   }
   catch(ContractException ex)
   {
      //обеспечиваем возвращение валидного объекта
      info.Name = «Не известно»;
      info.Description = «Искомая деталь не найдена»;
      info.Price = 0;
   }
   return info;
}* This source code was highlighted with Source Code Highlighter.


да, try-catch можно смело убрать :)
пытался сделать пример нагляднее
да, конечно, гарантирует завершениЕ подпрограммы. Спасибо! Исправил.
Спасибо. буду стараться.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity