Vitischenko Alexander
3/18/2005 9:44:00 PM
Connection conn = null;
try {
conn.createXXX
....
} catch (Exception e) {
// handle error
} finally {
if ((conn != null) && (!conn.isClosed())) {
conn.close();
}
}
÷ÏÔ É ÒÅÛÅÎÉÅ Ô×ÏÅÊ ÐÒÏÂÌÅÍÙ.
----------
finally ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÎÕÖÅÎ.
ýÁÓ ÄÁÖÅ ÂÙÓÔÒÅÎØËÏ ÎÁÃÁÒÁÐÁÀ ÐÏÞÅÍÕ.
ðÏÓÍÏÔÒÉ Ó×ÏÊ ËÏÄ × ÐÅÒ×ÏÍ ÐÏÓÔÅ :
try{
Connection conn;
. . .
conn.close();
}catch(Exception e) {
// handle error
}
× ÎÅÍ ÅÓÔØ ÐÏÔÅÎÃÉÁÌØÎÙÊ ÂÁÇ :), ÅÓÌÉ ×Ï ×ÒÅÍÑ ÉÓÐÏÌÎÅÎÉÑ ËÏÍÍÁÎÄ ". . .",
ÐÒÏÉÚÏÊÄÅÔ ÏÛÉÂËÁ, ÔÏ connection ÔÁË É ÎÅ ÂÕÄÅÔ ÚÁËÒÙÔ, É ÅÓÌÉ ÄÁÎÎÁÑ
ÓÉÔÕÁÃÉÑ ÂÕÄÅÔ ÐÏ×ÔÏÒÑÔØÓÑ ÄÏÓÔÁÔÏÞÎÏ ÞÁÓÔÏ, ÔÏ ÒÁÎÏ ÉÌÉ ÐÏÚÄÎÏ ÜÔÏ ÍÏÖÅÔ
ÐÒÉ×ÅÓÔÉ Ë ÔÏÍÕ, ÞÔÏ ÎÏ×ÙÅ connection ÎÅ ÓÍÏÇÕ ÂÙÔØ ÏÔËÒÙÔÙ, É × Ô×ÏÅ
ÐÒÉÌÏÖÅÎÉÅ, ÎÁÐÒÉÍÅÒ, ÚÁËÒÁÄÅÔÓÑ ÚÌÏÂÎÙÊ DoS :).
þÔÏÂÙ ÜÔÏÇÏ ÉÚÂÅÖÁÔØ ÎÁÄÏ ÐÉÓÁÔØ:
Connection conn = null;
try {
. . .
conn.close(); [*]
} catch(Exception e){
// handle error
}
if ((conn != null) && (!conn.isClosed())) {
conn.close(); [*]
}
÷ÒÏÄÅ ×ÓÅ ÏË... ÎÏ ÓÔÒÏËÉ ÐÏÍÅÞÅÎÎÙÅ [*], ÄÕÂÌÉÒÕÀÔØÓÑ... ÜÔÏ ÎÅËÒÁÓÉ×Ï,
ÕÞÉÔÙ×ÁÑ ÞÔÏ ÅÓÔØ ËÏÎÓÔÒÕËÃÉÉ ÐÏÚ×ÏÌÑÀÝÉÅ ÓÄÅÌÁÔØ ÜÔÏ ÂÏÌÅÅ ÇÒÁÍÏÔÎÏ,
ÎÁÐÒÉÍÅÒ ÉÓÐÏÌØÚÕÑ finally { . . . } - ÂÌÏË ËÏÔÏÒÙÊ ×ÓÅÇÄÁ ×ÙÚÙ×ÁÅÔØÓÑ ÐÏÓÌÅ
ÉÓÐÏÌÎÅÎÉÑ ÕËÁÚÁÎÎÏÇÏ ÕÞÁÓÔËÁ ËÏÄÁ.
üÔÏ ÍÏÖÅÔ ×ÙÇÌÑÄÅÔØ ÎÁÐÒÉÍÅÒ ÔÁË :
Connection conn = null;
try {
. . .
} catch(Exception e){
// handle error
} finally {
if ((conn != null) && (!conn.isClosed())) {
conn.close(); [*]
}
}
> þÔÏ ÇÏ×ÏÒÑÔ ÔÏ×. ûÁÂÌÏÎÙ?
ÎÉÞÅÇÏ ÎÅ ÇÏ×ÏÒÑÔ :)
---
WBR VID.