Schließlich kann es im Rahmen des Ausnahmebereitschafts nur in Versuch/Catch -Aussagen verwendet werden und enthält einen Anweisungsblock, der darauf hinweist, dass diese Aussage irgendwann ausgeführt wird (unabhängig davon, ob eine Ausnahme ausgelöst wird oder nicht) und häufig verwendet wird, wenn Ressourcen veröffentlicht werden müssen.
Vor dem Schreiben von Crawler war die Datenbankverbindungsfrequenz sehr hoch. Manchmal wurden die Daten nicht gut verarbeitet. Nachdem der SQL -Fehler gemeldet worden war, wurde eine Ausnahme ausgelöst, aber die nachfolgende Datenbankverbindung wurde nicht getrennt. Dies führte zum Ende, dass die Anzahl der Datenbankverbindungen zu groß war und sich nicht mehr verbinden durfte (da es sich um eine persönliche Bibliothek handelte, startete ich direkt neu). Dieser Betrieb der Veröffentlichung der Datenbankverbindung kann endlich durchgeführt werden.
Schauen wir uns zunächst den Code an, der nicht schließlich ist (er kann nicht direkt ausgeführt werden. Verstehen Sie einfach, was er bedeutet).
Verbindung conn; Anweisung stmt; try {conn = driverManager.getConnection (URL, Benutzername, Passwort); STMT = Conn.CreateStatement; String SQL = "SQL"; // SQL STMT.ExecuteUpdate (SQL); stmt.close (); conn.close ();} catch (Ausnahme e) {e.printstacktrace ();}Wenn das Programm normal ausgeführt wird, wird keine Ausnahme ausgelöst, kein Problem.
Wenn das Programm jedoch eine Ausnahme ausgelöst hat (SQL -Fehler auftritt), wird die Anweisung nicht ausgeführt und die Anweisung in Catch wird direkt ausgeführt, wodurch eine Datenbankverbindung nicht normal geschlossen wird. Wenn die Datenmenge größer wird, erreicht die maximale Anzahl von Verbindungen in der Datenbank die Obergrenze und neue Verbindungen sind nicht mehr zulässig.
Dann kann der Nutzen von endlich reflektiert werden
Verbindung conn = null; Anweisung stmt = null; try {conn = driverManager.getConnection (URL, Benutzername, Passwort); STMT = Conn.CreateStatement; String SQL = "SQL"; // SQL STMT.ExecuteUpdate (SQL); stmt.close (); conn.close (); } catch (sqlexception e) {e.printstacktrace (); } endlich {if (stmt! = null) {stmt.close (); } if (conn! = null) {conn.close (); }} Selbst wenn SQL einen Fehler ausführt und eine Ausnahme ausführt und dann ein weiteres Urteil über die Datenbankverbindung im endgültigen Code abgibt, kann dies sicherstellen, dass die Datenbankverbindungsressourcen nicht ohne Grund verschwendet werden.
Das obige ist die Verwendung von schließlich in Java, die Ihnen vom Herausgeber vorgestellt wurde. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!