Должен ли я вернуть ноль или сгенерировать исключение? - PullRequest
8 голосов
/ 19 октября 2010

Я нашел здесь вопросы Должен ли метод поиска возвращать 'null' или выдавать исключение, если он не может получить возвращаемое значение? и Должны ли функции возвращать null или пустой объект? , но я думаю, что мой случай совсем другой.

Я пишу приложение, которое состоит из веб-сервиса и клиента.Веб-сервис отвечает за доступ к данным и их возврат клиенту.Я создаю свое приложение так:

// webservice

try
{
   DataTable data = GetSomeData(parameter);
   return data
}
catch (OopsException ex)
{
   //write some log here
   return null; 
}

// client:

   DataTable data = CallGetSomeData(parameter);
   if(data == null) 
   {
      MessageBox.Show("Oops Exception!");
      return;
   }

Ну, есть правило, что не следует возвращать ноль.Я не думаю, что я должен просто выбросить исключение и позволить клиенту перехватить SoapException.Каков твой комментарий?Есть ли лучший подход для решения этой проблемы?

Спасибо.

Ответы [ 11 ]

0 голосов
/ 19 октября 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...