2010-02-05 3 views
0

У меня есть класс, называемый «Веб-сайт», и внутри этого класса у меня есть следующее свойство:Как я должен обрабатывать это конкретное исключение в C#?

public HtmlForm RegisterForm 
{ 
    get 
    { 
     if (Forms.RegForm != null)/Forms is a custom object called HTMLForms that is a custom list collection 
     { 
      return Forms.RegForm; 
     } 
     else 
     { 
      // FindPageWithGoogle Google = new FindPageWithGoogle(); 
      // use Google.FindRegistrationForm(this.currentUrl) method 
      //throw new Exception(); // if registration form object can't be found 
     } 
     return Forms.RegForm; 
    } 
} 

ли это быть эффективным способом обработки ошибок? В случае, если он не найден, как бы я остановил весь поток программы, если это исключение выбрано? Я знаю, как использовать простой try catch, но я не думаю, что этого достаточно. Я считаю, что мне нужно научиться делать свою собственную систему обработки исключений для обработки этих настраиваемых событий соответственно.

Спасибо за любую помощь. Кроме того, если у вас есть специальная книга по обработке исключений, так как книги C#, которые я читал до сих пор, не очень много входили в эту тему, было бы весьма полезно.

Спасибо,

Cody

+1

Итак, ваш вопрос - это лучший способ обработать 'Forms.RegForm == null'? –

+0

Я бы сказал, что любая «пользовательская система обработки исключений» по-прежнему выиграет от использования блоков try-catch (-finally), возможно, с вашими собственными классами исключений, а не для избежания их всех. –

+0

Я не хочу их избегать. Я просто хочу сделать код безопасным. Вы знаете, как программировать, зная, что ваши пользователи будут делать то, что им не нужно. – Codygman

ответ

0

Прекратить код на исключение, просто не поймать его.

Вы должны создать осмысленный класс исключений (например, InitializationError), а затем выбросить его при возникновении ошибки. Выйдите на вызывающий код, который может отобразить сообщение пользователю и поймать там исключение. Вы также можете завершить программу в этот момент.

Что касается книг по обработке исключений, я думаю, вы найдете MSDN chapter on exceptions полезными.