Enfin, dans le cadre de la gestion des exceptions, il ne peut être utilisé que dans les instructions Try / Catch, et est livré avec un bloc d'énoncé, indiquant que cette déclaration sera finalement exécutée (que ce soit une exception ou non), et est souvent utilisée lorsque les ressources doivent être libérées.
Avant, lors de l'écriture de robots, la fréquence de connexion de la base de données était très élevée. Parfois, les données n'ont pas été bien traitées. Une fois l'erreur SQL signalée, une exception a été lancée mais la connexion de la base de données suivante n'a pas été déconnectée. Cela a entraîné la fin que le nombre de connexions de la base de données était trop grand et n'étant plus autorisé à se connecter (car il s'agissait d'une bibliothèque personnelle, j'ai redémarré directement). Cette opération de libération de la connexion de la base de données peut enfin être effectuée.
Tout d'abord, jetons un coup d'œil au code qui n'est pas enfin (il ne peut pas être exécuté directement, comprenons simplement ce que cela signifie)
Connexion Conn; instruction stmt; try {Conn = driverManager.getConnection (URL, nom d'utilisateur, mot de passe); STMT = Conn.CreateStatement; String SQL = "SQL"; // SQL STMT.ExecuteUpdate (SQL); stmt.close (); conn.close ();} catch (exception e) {e.printStackTrace ();}Lorsque le programme s'exécute normalement, aucune exception n'est lancée, pas de problème.
Cependant, lorsque le programme lance une exception (une erreur SQL se produit), l'instruction dans TRY n'est pas exécutée et l'instruction dans Catch est directement exécutée, ce qui fait clôturer normalement une connexion de base de données. Si la quantité de données devient plus grande, le nombre maximum de connexions dans la base de données atteint la limite supérieure et de nouvelles connexions ne sont plus autorisées.
Alors l'utilité de enfin peut être reflétée maintenant
Connexion conn = null; instruction stmt = null; try {conn = driverManager.getConnection (url, nom d'utilisateur, mot de passe); STMT = Conn.CreateStatement; String SQL = "SQL"; // SQL STMT.ExecuteUpdate (SQL); stmt.close (); conn.close (); } catch (sqlexception e) {e.printStackTrace (); } enfin {if (stmt! = null) {stmt.close (); } if (conn! = null) {conn.close (); }} De cette façon, même si SQL exécute une erreur et lance une exception, puis porte un autre jugement sur la connexion de la base de données dans le code final, il peut garantir que les ressources de connexion de la base de données ne seront pas gaspillées sans raison.
Ce qui précède est l'utilisation de Enfin dans Java présentée par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!