Vladimir Bobes Tuzinsky wrote:
Zdravim vas,pred par tyzdnami som prisiel na projekt, kde som sa po prvy krat stretol s takouto situaciou. V business vrstve je niekolko metod, ktore si odniekial ziskaju Connection na databazu, zavolaju par metod v Dao vrstve a zatvoria Connection. Zatvaranie je standardne vo finally bloku. Ak ale v try bloku vznikne vynimka (ci uz sql alebo nejaka business) a nasledne vznikne sql vynimka aj vo finally bloku, nie je jasne, ktoru vynimku by mala takato metoda vyhodit (najma v pripade, ze ani jednu z nich nevie zodpovedne spracovat.) Po diskusii s kolegami som sa rozhodol opytat skusenejsich. Mate nejake namety, ako danu situaciu riesit?Vdaka :) b.
Pokud mate na mysli neco takoveho:
public void mojeMetoda() throws BussinessVyjimkaException {
Connection con = ...;
try {
...
neco.zavolejBussinessMetodu(con); //throws BussinessVyjimkaException
...
} finally {
try {
con.close();
} catch (SQLException ex) {
log.error(ex.getMessage(),ex);
}
}
}
pak myslim, ze metoda musi propagovat dal bussiness vyjimku,
protoze ta je pro aplikaci dulezitejsi. Ze se nepodarilo
zavrit databazove spojeni je sice neprijemne, ale k tomu moc nedochazi,
a kdyz uz, je pravdepodobne, ze bussiness vyjimka vznikla taky
v dusledku nejake SQL vyjimky a tudiz ji uz obsahuje.
Proto bych SQL vyjimku ve finally pouze zalogoval
a dal to neresil.
Makub
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno Martin Kuba
Institute of Computer Science email: [EMAIL PROTECTED]
Masaryk University http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
--------------------------------------------------------------
smime.p7s
Description: S/MIME Cryptographic Signature
