Comment obtenir le Type de l'Exception en C#
Je veux vérifier si le serveur n'est pas accessible et si elle n'est pas accessible je veux imprimer un sympathique message sur ma page de connexion. Comme lorsque l'utilisateur de saisir ses informations d'identification et par exception, j'ai eu
Une liée au réseau ou spécifique à l'instance erreur s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur n'a pas été trouvé ou n'est pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions à distance. (fournisseur: Fournisseur de canaux Nommés, erreur: 40 - impossible d'ouvrir une connexion à SQL Server)
cette exception. Alors, comment dois-je quand que l'exception s'est produite, donc je peux afficher un message?
Que du c++ c'est du c#
Sauf que j'écris dans ma question clairement ce qui suggère que le type de l'exception im... ses de serveur de base de données
OriginalL'auteur Fraz Sundal | 2010-09-15
Vous devez vous connecter pour publier un commentaire.
Vous pourriez essayer d'attraper un SQLException:
OriginalL'auteur Darin Dimitrov
Je sais que c'est un vieux post, mais si vous allez gérer toutes les exceptions de la même façon et/ou en utilisant les informations pour les rapports d'erreur ou quelque chose de similaire (au lieu de notifier à l'utilisateur les détails), vous pouvez utiliser la syntaxe suivante.
OriginalL'auteur John D Kidd Jr
Que vous devez savoir à code-temps quelles sont les exceptions à attendre, afin de les attraper en conséquence. Comme Dimitrov a déclaré, une SQLException est levée lors de la connexion à un serveur SQL server échoue, alors la capture spécifiquement est une bonne tactique.
Vous voulez attraper les diverses exceptions dans l'ordre, comme suit:
Essayer de mettre le plus insolite des exceptions au sommet, de travailler votre chemin vers le bas de la liste vers la commune. La capture de séquence est séquentielle - si vous mettez catch(Exception) au top, il va toujours prendre sur cette ligne peu importe ce que les exceptions vous code en dessous.
OriginalL'auteur
vous pouvez utiliser la même méthode que vous utilisez pour vérifier si un parent de la classe est de type sous-classe qui est fait à l'aide de
où votre obj est de type Exception de la classe parente de toutes les exceptions.
ou si vous souhaitez utiliser l'objet de l'exception tard, alors vous pouvez utiliser:
Cette logique est particulièrement utile lorsque vous avez un système centralisé de classe pour la gestion des exceptions et ne veulent pas ajouter plusieurs instructions catch
Espère que cette aide.
OriginalL'auteur Baz1nga
try/finally
etusing
sont presque les mêmes.using
va essayer de faire quelque chose avec l'objet, qu'il réussisse ou non, il va disposer de l'objet pour arrêter la fuite de mémoire, mais ne pas ignorer l'erreur empêchant le code de continuer.Try
essaiera d'exécuter le code entre les accolades, si une erreur survient, elle va ignorer l'erreur et la sortie de laTry
clause, puis de procéder à la lecture du code, sauf si l'erreur est critique qui provoque la panne du programme. Toutefois, lorsqueusing
flux il l'habitude de s'assurer que le flux est fermé/débarrasser de, car lorsqu'une erreur se produit à la sortie de latry
clause avant d'atteindre n'importe quel code vous avez peut-être ajouté au bas de l'élimination (mauvaise pratique de l'omi).Try
code nécessite soit unCatch
(s), et/ouFinally
de tresorerie.Catch
vous donne la possibilité de gérer les exceptions, de façon générale ou spécifique des exceptions. un exemple de l'utilisation qui pourrait en être, pour générer un fichier de texte de l'erreur et de l'enregistrer.using
ne serait pas vous permettre de gérer les exceptions.un autre exemple de
using
pourrait être, vous avez une liste de lecture, une chanson ne peut pas être trouvé, à l'exception de la zonenullreferece
pourrait supprimer l'élément de la liste.Finally
est toujours exécuté, même si l'erreur est critique et le programme se bloque, le code à l'intérieur de lafinally
clause sera exécuté, avec les objets de flux c'est là que vous devez placer vos éliminer code, de sorte que si l'objet tombe en panne dans letry
clause de son toujours disposé de.espère que j'ai aidé à présent un peu de clarté concernant l'utilisation et
try
/catch
/finally
.OriginalL'auteur Gorlykio
Vous devez attraper l'exception:
OriginalL'auteur Oskar Kjellin
ex.ToString()
au lieu deex.Message
OriginalL'auteur Shekhar
je pense,la solution est..
catch(Exception ex)
{
Responce.Write("Une erreur s'est produite:" + ex.Message);
}
OriginalL'auteur parmarupendra