try {
//some code } catch(TypeOfException exOne) {
//handle TypeOfException someway } catch (OtherTypeOfException exTwo) {
//handle OtherTypeOfException some other way } catch (Exception ex) {
//handle unknown exceptions in a general way } finally {
//any required cleanup code goes here }
try/finally
et using
sont presque les mêmes. using
va essayer de faire quelque chose avec l'objet, qu'il réussisse ou non il disposera de l'objet pour arrêter la fuite de mémoire, mais n'ignorera pas l'erreur empêchant le code de continuer. Si une erreur survient, elle ignorera l'erreur et quittera la clause Try
, puis continuera à lire le code, à moins que l'erreur ne soit critique et que le programme ne se bloque.Cependant, quand les flux ne garantissent pas que le flux est fermé/éliminé, lorsqu'une erreur survient, il quitte la clause try
avant d'atteindre le code que vous pourriez ajouter en bas pour l'éliminer (mauvaise pratique).
Try
Le code nécessite soit une Catch
(s), et/ou Finally
statment. Catch
vous donne la possibilité de gérer des exceptions, généralement ou des exceptions spécifiques. un exemple d'utilisation pourrait être de générer un fichier texte de l'erreur et de l'enregistrer. using
ne vous laisserait pas gérer les exceptions.
un autre exemple de using
pourrait être, vous avez une liste de lecture, une chanson ne peut pas être trouvée, la zone d'exception nullreferece
pourrait supprimer l'élément de la liste. Est toujours exécuté, même si l'erreur est critique et le programme se bloque, le code à l'intérieur de la clause finally
sera exécuté, avec les objets de flux c'est où vous devriez placer votre code de disposition, de sorte que si l'objet échoue dans la clause try
il est toujours disposé.
J'espère avoir aidé à présenter une certaine clarté concernant l'utilisation et try
/catch
/finally
.
serveur? serveur de base de données? serveur réseau? quel environnement? la question n'est pas claire du tout. – vulkanino
C'est C++ c'est C# – PostMan
@vulkanino: Exception que j'écris clairement dans ma question suggérant quel type d'exception je reçois ... c'est lié au serveur de base de données –