2010-02-05 15 views
0

J'ai une classe appelée « site Web », et à l'intérieur de cette classe, j'ai la propriété suivante:Comment dois-je gérer cette exception particulière en 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; 
    } 
} 

Serait-ce un moyen efficace de gérer l'erreur? Dans le cas où il ne serait pas trouvé, comment pourrais-je arrêter le flux entier du programme si cette exception est levée? Je sais comment utiliser un simple essai, mais je ne pense pas que ce soit suffisant. Je crois que j'ai besoin d'apprendre à faire mon propre système de gestion des exceptions personnalisées pour gérer ces événements personnalisés en conséquence.

Merci pour toute aide. Aussi, si vous avez un livre spécifique sur la gestion des exceptions, puisque les livres C# que j'ai lus jusqu'ici ne sont pas beaucoup dans le sujet, ce serait grandement apprécié.

Merci,

Cody

+1

Donc, votre question est quelle est la meilleure façon de gérer 'Forms.RegForm == null'? –

+0

Je dirais que n'importe quel 'système de gestion des exceptions personnalisées' bénéficierait encore de l'utilisation de blocs try-catch (-finally), peut-être avec vos propres classes Exception plutôt que de les éviter ensemble –

+0

Je ne veux pas les éviter. Je veux juste faire du code qui soit sûr. Vous savez, comment programmer en sachant que vos utilisateurs vont faire des choses qu'ils ne sont pas censés faire. – Codygman

Répondre

0

Pour mettre fin le code à une exception, il suffit de ne pas attraper.

Vous devez créer une classe d'exception significative (par exemple InitializationError), puis la lancer lorsque l'erreur se produit. Sortez vers le code appelant qui peut afficher le message à l'utilisateur et attraper l'exception là. Vous pouvez également terminer le programme à ce moment-là.

En ce qui concerne les livres sur la gestion des exceptions, je pense que vous trouverez le MSDN chapter on exceptions utile.