2012-08-23 2 views
1

Meilleure façon de gérer les exceptions dans le bloc C# Catch.J'ai pas d'autre choix que de consigner l'erreur dans SQL DB dans le bloc Catch.Howver je me demande quelle est la meilleure façon d'attraper exception si attrapé dans le bloc Catch lui-même?Meilleure façon de gérer les exceptions dans le bloc de saisie C#

+0

essayer { jet; } catch (Exception ex) { // erreur Connexion à DB Quel est le meilleur qui peut être fait ici en cas d'erreur se produit lors de la connexion à DB } – Sandeep

+0

Cela dépend. Que voulez-vous * arriver * si la journalisation génère une exception? – asawyer

Répondre

0

Je voudrais créer une classe distincte pour gérer les rapports d'erreurs et exposer une fonction pour gérer la journalisation de l'erreur dans la base de données.
J'ai trouvé ce guide utile:

http://www.codeproject.com/Articles/9538/Exception-Handling-Best-Practices-in-NET

Une partie du code que je l'ai utilisé dans le passé ressemble à:

try{ 
    throw; 
} 
catch(Exception ex){ 
    LoggingClass.LogError(some paramaters,ex.tostring()); 
} 

et votre classe d'exploitation forestière pourrait ressembler

public static class LoggingClass { 

    public static void LogError(some paramaters, ex.tostring()){ 

     //try to log to database 


     //catch and report error in some other way 
    } 

} 

J'ai utilisé cet article comme une référence dans le passé parce que j'ai aimé l'idée de se connecter à un fichier texte (dans le e ventilation d'une erreur DB) puis affichage d'un "gentil" message à l'utilisateur.

C# best practice error handling and passing error messages

+0

Merci Will ... pour l'examiner si essentiellement il n'y a pas de fin :) mais nous pouvons le faire comme 99% fail-safe merci pour votre suggestion.j'apprécie vraiment que vous preniez le temps et y répondiez – Sandeep

Questions connexes